diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index e2ebc758efe82d8047ebc5c3e05d78c386f843b4..5c35d8ad0f71e0e76bdff8c920d9cc1b4f5a8a5d 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -487,6 +487,12 @@ function _M:leaveLevel(level, lev, old_lev) end function _M:onLevelLoad(id, fct) + if self.zone and self.level and id == self.zone.short_name.."-"..self.level.level then + print("Direct execute of on level load", id, fct) + fct(self.zone, self.level) + return + end + self.on_level_load_fcts = self.on_level_load_fcts or {} self.on_level_load_fcts[id] = self.on_level_load_fcts[id] or {} local l = self.on_level_load_fcts[id] @@ -1002,7 +1008,13 @@ function _M:setupCommands() -- local m = game.zone:makeEntity(game.level, "actor", {random_boss=true}, nil, true) -- if m then game.zone:addEntity(game.level, m, "actor", game.player.x, game.player.y + 1) end -- self:changeLevel(1, "test") - self.level.map:particleEmitter(game.player.x, game.player.y, 1, "flame") + local list = mod.class.Object:loadList("/data/general/objects/brotherhood-artifacts.lua") + for _, e in ipairs(list) do if e.image and e.unique then + local o = e:clone() + o:resolve() o:resolve(nil,true) + local x, y = util.findFreeGrid(self.player.x, self.player.y, 15, true, {[engine.Map.OBJECT]=true}) + game.zone:addEntity(game.level, o, "object", x, y) + end end end end, } diff --git a/game/modules/tome/data/general/encounters/fareast.lua b/game/modules/tome/data/general/encounters/fareast.lua index d7b6057256f8722fc725655e5da547a1539fa1df..4282f1e44260c1d363f2d508d00bd09c69980f7e 100644 --- a/game/modules/tome/data/general/encounters/fareast.lua +++ b/game/modules/tome/data/general/encounters/fareast.lua @@ -29,14 +29,14 @@ newEntity{ local x, y = self:findSpotGeneric(who, function(map, x, y) local enc = map:checkAllEntities(x, y, "can_encounter") return enc and enc == "water" end) if not x then return end - local g = mod.class.Grid.new{ - show_tooltip=true, - name="Entrance to an underwater cave", - display='>', color=colors.AQUAMARINE, - notice = true, - change_level=1, change_zone="flooded-cave" - } - g:resolve() g:resolve(nil, true) + local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull() + g.name = "Entrance to an underwater cave" + g.display='>' g.color_r=colors.AQUAMARINE.r g.color_g=colors.AQUAMARINE.g g.color_b=colors.AQUAMARINE.b g.notice = true + g.change_level=1 g.change_zone="flooded-cave" + g.add_displays = g.add_displays or {} + g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/underwater/subsea_cave_entrance_01.png", z=4, display_h=2, display_y=-1} + g.nice_tiler = nil + g.does_block_move = nil game.zone:addEntity(game.level, g, "terrain", x, y) game.logPlayer(who, "#LIGHT_BLUE#You notice an entrance to an underwater cave.") return true @@ -51,16 +51,14 @@ newEntity{ local x, y = self:findSpot(who) if not x then return end - local g = mod.class.Grid.new{ - show_tooltip=true, - name="Entrance to a dark crypt", - display='>', color=colors.GREY, - notice = true, - change_level=1, change_zone="shadow-crypt" - } - g:resolve() g:resolve(nil, true) + local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull() + g.name = "Entrance to a dark crypt" + g.display='>' g.color_r=128 g.color_g=128 g.color_b=128 g.notice = true + g.change_level=1 g.change_zone="shadow-crypt" + g.add_displays = g.add_displays or {} + g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5} + g.nice_tiler = nil game.zone:addEntity(game.level, g, "terrain", x, y) - game.logPlayer(who, "#LIGHT_BLUE#You notice an entrance to a dark crypt. Fetid wind seems to come out of it.") return true end } @@ -73,16 +71,14 @@ newEntity{ local x, y = self:findSpot(who) if not x then return end - local g = mod.class.Grid.new{ - show_tooltip=true, - name="Entrance to the orc breeding pit", - display='>', color=colors.GREEN, - notice = true, - change_level=1, change_zone="orc-breeding-pit" - } - g:resolve() g:resolve(nil, true) + local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull() + g.name = "Entrance to the orc breeding pit" + g.display='>' g.color_r=colors.GREEN.r g.color_g=colors.GREEN.g g.color_b=colors.GREEN.b g.notice = true + g.change_level=1 g.change_zone="orc-breeding-pit" + g.add_displays = g.add_displays or {} + g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/ladder_down.png"} + g.nice_tiler = nil game.zone:addEntity(game.level, g, "terrain", x, y) - game.logPlayer(who, "#LIGHT_BLUE#You find an entrance to a dim, moist cavern. The stench of the warm air rising from it is almost unbearable.") return true end } diff --git a/game/modules/tome/data/general/objects/brotherhood-artifacts.lua b/game/modules/tome/data/general/objects/brotherhood-artifacts.lua index 1dcb0a33ff42cd64703fea7a40b2a10a453765da..26088045b748796c29a55d24e119d00005b46a96 100644 --- a/game/modules/tome/data/general/objects/brotherhood-artifacts.lua +++ b/game/modules/tome/data/general/objects/brotherhood-artifacts.lua @@ -27,7 +27,7 @@ local Talents = require "engine.interface.ActorTalents" newEntity{ power_source = {nature=true}, define_as = "ELIXIR_FOX", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_the_fox.png", name = "Elixir of the Fox", unique=true, unided_name="vial of pink fluid", display = "!", color=colors.VIOLET, desc = [[A vial of pink, airy fluid.]], @@ -48,7 +48,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_AVOIDANCE", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_avoidance.png", name = "Elixir of Avoidance", unique=true, unided_name="vial of green fluid", display = "!", color=colors.GREEN, desc = [[A vial of opaque green fluid.]], @@ -66,7 +66,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_PRECISION", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_precision.png", name = "Elixir of Precision", unique=true, unided_name="vial of red fluid", display = "!", color=colors.GREEN, desc = [[A vial of chunky red fluid.]], @@ -84,7 +84,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_MYSTICISM", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_mysticism.png", name = "Elixir of Mysticism", unique=true, unided_name="vial of cyan fluid", display = "!", color=colors.BLUE, desc = [[A vial of glowing cyan fluid.]], @@ -105,7 +105,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_SAVIOR", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_the_saviour.png", name = "Elixir of the Savior", unique=true, unided_name="vial of grey fluid", display = "!", color=colors.GREY, desc = [[A vial of bubbling, slate-colored fluid.]], @@ -125,7 +125,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_MASTERY", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_mastery.png", name = "Elixir of Mastery", unique=true, unided_name="vial of maroon fluid", display = "!", color=colors.PURPLE, desc = [[A vial of thick maroon fluid.]], @@ -144,7 +144,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_FORCE", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_explosive_force.png", name = "Elixir of Explosive Force", unique=true, unided_name="vial of orange fluid", display = "!", color=colors.ORANGE, desc = [[A vial of churning orange fluid.]], @@ -162,7 +162,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_SERENDIPITY", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_serendipity.png", name = "Elixir of Serendipity", unique=true, unided_name="vial of yellow fluid", display = "!", color=colors.YELLOW, desc = [[A vial of lifelike yellow fluid.]], @@ -181,7 +181,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_FOCUS", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_focus.png", name = "Elixir of Focus", unique=true, unided_name="vial of clear fluid", display = "!", color=colors.WHITE, desc = [[A vial of clear, steaming fluid.]], @@ -199,7 +199,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_BRAWN", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_brawn.png", name = "Elixir of Brawn", unique=true, unided_name="vial of tan fluid", display = "!", color=colors.TAN, desc = [[A vial of sluggish tan fluid.]], @@ -220,7 +220,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_STONESKIN", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_stoneskin.png", name = "Elixir of Stoneskin", unique=true, unided_name="vial of iron-colored fluid", display = "!", color=colors.SLATE, desc = [[A vial of grainy, iron-colored fluid.]], @@ -238,7 +238,7 @@ newEntity{ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_FOUNDATIONS", - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_foundations.png", name = "Elixir of Foundations", unique=true, unided_name="vial of white fluid", display = "!", color=colors.WHITE, desc = [[A vial of murky wuite fluid.]], @@ -257,12 +257,12 @@ newEntity{ newEntity{ base = "BASE_TAINT", name = "Taint of Telepathy", - define_as = "TAINT_TELEPATHY", + define_as = "TAINT_TELEPATHY", image = "object/taint_of_telepathy.png", unique = true, identified = true, cost = 200, material_level = 3, - + inscription_kind = "utility", inscription_data = { cooldown = 30, @@ -273,12 +273,12 @@ newEntity{ base = "BASE_TAINT", newEntity{ base = "BASE_INFUSION", name = "Infusion of Wild Growth", - define_as = "INFUSION_WILD_GROWTH", + define_as = "INFUSION_WILD_GROWTH", image = "object/infusion_of_wild_growth.png", unique = true, identified = true, cost = 200, material_level = 3, - + inscription_kind = "utility", inscription_data = { cooldown = 30, @@ -292,8 +292,8 @@ newEntity{ base = "BASE_GEM", power_source = {nature=true}, unique = true, unided_name = "cloudy, heavy emerald", - name = "Lifebinding Emerald", subtype = "green", - color = colors.GREEN, image="object/emerald.png", + name = "Lifebinding Emerald", subtype = "green", image = "object/lifebinding_emerald.png", + color = colors.GREEN, desc = [[A lopsided, heavy emerald with murky green clouds shifting sluggishly under the surface.]], cost = 200, material_level = 5, @@ -319,7 +319,7 @@ newEntity{ power_source = {nature=true}, define_as = "ELIXIR_INVULNERABILITY", encumber = 2, - type = "potion", subtype="potion", + type = "potion", subtype="potion", image = "object/elixir_of_invulnerability.png", name = "Elixir of Invulnerability", unique=true, unided_name="vial of black fluid", display = "!", color=colors.SLATE, desc = [[A vial of thick fluid, metallic and reflective. It's incredibly heavy.]], diff --git a/game/modules/tome/data/general/objects/elixir-ingredients.lua b/game/modules/tome/data/general/objects/elixir-ingredients.lua index 7bacc6c1ec44a1ce5b7f1f0f885057289dcb0d42..fe6e97b53d8aefb082317360e154bf00d6b2473a 100644 --- a/game/modules/tome/data/general/objects/elixir-ingredients.lua +++ b/game/modules/tome/data/general/objects/elixir-ingredients.lua @@ -20,7 +20,7 @@ newEntity{ define_as = "TROLL_INTESTINE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/troll_intestine.png", level_range = {50, 50}, encumber = 0, unided_name = "troll guts", @@ -32,7 +32,7 @@ newEntity{ define_as = "TROLL_INTESTINE", newEntity{ define_as = "SKELETON_MAGE_SKULL", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/skeleton_mage_skull.png", unided_name = "battered skull", name = "skeleton mage skull", level_range = {50, 50}, @@ -44,7 +44,7 @@ newEntity{ define_as = "SKELETON_MAGE_SKULL", newEntity{ define_as = "RITCH_STINGER", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/ritch_stinger.png", unided_name = "giant stinger", name = "ritch stinger", level_range = {50, 50}, @@ -56,7 +56,7 @@ newEntity{ define_as = "RITCH_STINGER", newEntity{ define_as = "ORC_HEART", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/orc_heart.png", unided_name = "heart", name = "orc heart", level_range = {50, 50}, @@ -68,7 +68,7 @@ newEntity{ define_as = "ORC_HEART", newEntity{ define_as = "NAGA_TONGUE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/naga_tongue.png", level_range = {50, 50}, encumber = 0, unided_name = "naga tongue", @@ -80,7 +80,7 @@ newEntity{ define_as = "NAGA_TONGUE", newEntity{ define_as = "GREATER_DEMON_BILE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/phial_demon_blood.png", level_range = {50, 50}, encumber = 0, unided_name = "demon bile", @@ -92,7 +92,7 @@ newEntity{ define_as = "GREATER_DEMON_BILE", newEntity{ define_as = "BONE_GOLEM_DUST", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/pouch_bone_giant_dust.png", level_range = {50, 50}, encumber = 0, unided_name = "bone giant dust", @@ -104,7 +104,7 @@ newEntity{ define_as = "BONE_GOLEM_DUST", newEntity{ define_as = "FROST_ANT_STINGER", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/ice_ant_stinger.png", level_range = {50, 50}, encumber = 0, unided_name = "stinger", @@ -116,7 +116,7 @@ newEntity{ define_as = "FROST_ANT_STINGER", newEntity{ define_as = "MINOTAUR_NOSE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/minotaur_nose.png", level_range = {50, 50}, encumber = 0, unided_name = "minotaur nose", @@ -128,7 +128,7 @@ newEntity{ define_as = "MINOTAUR_NOSE", newEntity{ define_as = "ELDER_VAMPIRE_BLOOD", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/vial_elder_vampire_blood.png", level_range = {50, 50}, encumber = 0, unided_name = "black blood", @@ -140,7 +140,7 @@ newEntity{ define_as = "ELDER_VAMPIRE_BLOOD", newEntity{ define_as = "MULTIHUED_WYRM_SCALE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/dragon_scale_multihued.png", level_range = {50, 50}, encumber = 0, unided_name = "shimmering scale", @@ -152,7 +152,7 @@ newEntity{ define_as = "MULTIHUED_WYRM_SCALE", newEntity{ define_as = "SPIDER_SPINNERET", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/spider_spinnarets.png", level_range = {50, 50}, encumber = 0, unided_name = "spinneret", @@ -164,7 +164,7 @@ newEntity{ define_as = "SPIDER_SPINNERET", newEntity{ define_as = "HONEY_TREE_ROOT", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/honey_tree_root.png", level_range = {50, 50}, encumber = 0, unided_name = "dirty root", @@ -176,7 +176,7 @@ newEntity{ define_as = "HONEY_TREE_ROOT", newEntity{ define_as = "BLOATED_HORROR_HEART", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/bloated_horror_heart.png", level_range = {50, 50}, encumber = 0, unided_name = "heart", @@ -188,7 +188,7 @@ newEntity{ define_as = "BLOATED_HORROR_HEART", newEntity{ define_as = "ELECTRIC_EEL_TAIL", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/electric_eel_tail.png", level_range = {50, 50}, encumber = 0, unided_name = "eel tail", @@ -200,7 +200,7 @@ newEntity{ define_as = "ELECTRIC_EEL_TAIL", newEntity{ define_as = "SQUID_INK", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/vial_squid_ink.png", level_range = {50, 50}, encumber = 0, unided_name = "black liquid", @@ -212,7 +212,7 @@ newEntity{ define_as = "SQUID_INK", newEntity{ define_as = "BEAR_PAW", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/bear_paw.png", level_range = {50, 50}, encumber = 0, unided_name = "large, clawed paw", @@ -224,7 +224,7 @@ newEntity{ define_as = "BEAR_PAW", newEntity{ define_as = "ICE_WYRM_TOOTH", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/frost_wyrm_tooth.png", level_range = {50, 50}, encumber = 0, unided_name = "tooth", @@ -236,7 +236,7 @@ newEntity{ define_as = "ICE_WYRM_TOOTH", newEntity{ define_as = "RED_CRYSTAL_SHARD", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/red_crystal_shard.png", level_range = {50, 50}, encumber = 0, unided_name = "red crystal shard", @@ -248,7 +248,7 @@ newEntity{ define_as = "RED_CRYSTAL_SHARD", newEntity{ define_as = "FIRE_WYRM_SALIVA", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/vial_fire_wyrm_saliva.png", level_range = {50, 50}, encumber = 0, unided_name = "wyrm saliva", @@ -260,7 +260,7 @@ newEntity{ define_as = "FIRE_WYRM_SALIVA", newEntity{ define_as = "GHOUL_FLESH", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/ghoul_flesh.png", level_range = {50, 50}, encumber = 0, unided_name = "chunk of rotten flesh", @@ -272,7 +272,7 @@ newEntity{ define_as = "GHOUL_FLESH", newEntity{ define_as = "MUMMY_BONE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/mummified_bone.png", level_range = {50, 50}, encumber = 0, unided_name = "dry, flesh-encrusted bone", @@ -284,7 +284,7 @@ newEntity{ define_as = "MUMMY_BONE", newEntity{ define_as = "SANDWORM_TOOTH", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/sandworm_tooth.png", level_range = {50, 50}, encumber = 0, unided_name = "small, pointed tooth", @@ -296,7 +296,7 @@ newEntity{ define_as = "SANDWORM_TOOTH", newEntity{ define_as = "BLACK_MAMBA_HEAD", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/black_mamba_head.png", level_range = {50, 50}, encumber = 0, unided_name = "snake head", @@ -308,7 +308,7 @@ newEntity{ define_as = "BLACK_MAMBA_HEAD", newEntity{ define_as = "SNOW_GIANT_KIDNEY", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/snow_giant_kidney.png", level_range = {50, 50}, encumber = 0, unided_name = "kidney", @@ -320,7 +320,7 @@ newEntity{ define_as = "SNOW_GIANT_KIDNEY", newEntity{ define_as = "STORM_WYRM_CLAW", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/storm_wyrm_claw.png", level_range = {50, 50}, encumber = 0, unided_name = "claw", @@ -332,7 +332,7 @@ newEntity{ define_as = "STORM_WYRM_CLAW", newEntity{ define_as = "GREEN_WORM", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/green_worm.png", level_range = {50, 50}, encumber = 0, unided_name = "dead green worm", @@ -344,7 +344,7 @@ newEntity{ define_as = "GREEN_WORM", newEntity{ define_as = "WIGHT_ECTOPLASM", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/vial_wight_ectoplasm.png", level_range = {50, 50}, encumber = 0, unided_name = "viscous slime", @@ -356,7 +356,7 @@ newEntity{ define_as = "WIGHT_ECTOPLASM", newEntity{ define_as = "XORN_FRAGMENT", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/xorn_fragment.png", level_range = {50, 50}, encumber = 0, unided_name = "chunk of stone", @@ -368,7 +368,7 @@ newEntity{ define_as = "XORN_FRAGMENT", newEntity{ define_as = "WARG_CLAW", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/warg_claw.png", level_range = {50, 50}, encumber = 0, unided_name = "claw", @@ -380,7 +380,7 @@ newEntity{ define_as = "WARG_CLAW", newEntity{ define_as = "FAEROS_ASH", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/pharao_ash.png", level_range = {50, 50}, encumber = 0, unided_name = "ash", @@ -392,7 +392,7 @@ newEntity{ define_as = "FAEROS_ASH", newEntity{ define_as = "WRETCHLING_EYE", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/wretchling_eyeball.png", level_range = {50, 50}, encumber = 0, unided_name = "eyeball", @@ -404,7 +404,7 @@ newEntity{ define_as = "WRETCHLING_EYE", newEntity{ define_as = "FAERLHING_FANG", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/faerlhing_fang.png", level_range = {50, 50}, encumber = 0, unided_name = "fang", @@ -416,7 +416,7 @@ newEntity{ define_as = "FAERLHING_FANG", newEntity{ define_as = "VAMPIRE_LORD_FANG", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/vampire_lord_fang.png", level_range = {50, 50}, encumber = 0, unided_name = "fang", @@ -428,7 +428,7 @@ newEntity{ define_as = "VAMPIRE_LORD_FANG", newEntity{ define_as = "HUMMERHORN_WING", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/hummerhorn_wing.png", level_range = {50, 50}, encumber = 0, unided_name = "translucent insect wing", @@ -440,7 +440,7 @@ newEntity{ define_as = "HUMMERHORN_WING", newEntity{ define_as = "LUMINOUS_HORROR_DUST", quest=true, identified=true, no_unique_lore=true, - type = "misc", subtype="ingredient", + type = "misc", subtype="ingredient", image = "object/pouch_luminous_horror_dust.png", level_range = {50, 50}, encumber = 0, unided_name = "glowing dust", diff --git a/game/modules/tome/data/gfx/shockbolt/object/bear_paw.png b/game/modules/tome/data/gfx/shockbolt/object/bear_paw.png new file mode 100644 index 0000000000000000000000000000000000000000..b00aeac2b4d92d56bb902b2cdd980c070de844eb Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/bear_paw.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/black_mamba_head.png b/game/modules/tome/data/gfx/shockbolt/object/black_mamba_head.png new file mode 100644 index 0000000000000000000000000000000000000000..47e9b4a18fd4412e602452cada75ac1e1ad114df Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/black_mamba_head.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/bloated_horror_heart.png b/game/modules/tome/data/gfx/shockbolt/object/bloated_horror_heart.png new file mode 100644 index 0000000000000000000000000000000000000000..ae38789ca7b500d55952cfd020f8ffec680a66c7 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/bloated_horror_heart.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/dragon_scale_multihued.png b/game/modules/tome/data/gfx/shockbolt/object/dragon_scale_multihued.png new file mode 100644 index 0000000000000000000000000000000000000000..6ffbd03879b2b7a492f38736557b54d28d39a586 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/dragon_scale_multihued.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/electric_eel_tail.png b/game/modules/tome/data/gfx/shockbolt/object/electric_eel_tail.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d923e285dc69ecb7e69604e3454d7a541853b2 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/electric_eel_tail.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_avoidance.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_avoidance.png new file mode 100644 index 0000000000000000000000000000000000000000..5df5f2cb84c5316af14c62736682693c32ca903a Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_avoidance.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_brawn.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_brawn.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b045398d361e458db18b84293179bed671a590 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_brawn.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_explosive_force.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_explosive_force.png new file mode 100644 index 0000000000000000000000000000000000000000..4b247838db0dd2ec531420cdcb20568f05b4b96f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_explosive_force.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_focus.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_focus.png new file mode 100644 index 0000000000000000000000000000000000000000..5394593a5dc810eb1caf6c92177e0df048b93a65 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_focus.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_foundations.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_foundations.png new file mode 100644 index 0000000000000000000000000000000000000000..f75380f908a27efa6e0ed1ed965fc19a5edcb22b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_foundations.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_invulnerability.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_invulnerability.png new file mode 100644 index 0000000000000000000000000000000000000000..15b7388766d2924969c448b6f93373925428d819 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_invulnerability.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mastery.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mastery.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7d3cc668f09c83065498747d49de4eaeaed606 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mastery.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mysticism.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mysticism.png new file mode 100644 index 0000000000000000000000000000000000000000..ecba0bad04b509707e3b26c3ad5791ec33739768 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mysticism.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_precision.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_precision.png new file mode 100644 index 0000000000000000000000000000000000000000..ab46a3160c2943ce60b3175f024eaa698059a48c Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_precision.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_serendipity.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_serendipity.png new file mode 100644 index 0000000000000000000000000000000000000000..4c55aa799dede74417bebb4c76cb12dbaed18e48 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_serendipity.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_stoneskin.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_stoneskin.png new file mode 100644 index 0000000000000000000000000000000000000000..42120a8f6bcdfafafc743b6efb5d6ebb059857f8 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_stoneskin.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_fox.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_fox.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd321f5112b6554d5d7218e7f5d06f4bbb6b6e0 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_fox.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_saviour.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_saviour.png new file mode 100644 index 0000000000000000000000000000000000000000..37deb0f85d5485f4de779ff981a37f75dfed6eca Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_saviour.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/faerlhing_fang.png b/game/modules/tome/data/gfx/shockbolt/object/faerlhing_fang.png new file mode 100644 index 0000000000000000000000000000000000000000..5b5489b1b4ab3a5fe9591add46b0870eb5fe6ca3 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/faerlhing_fang.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/fire_wyrm_saliva.png b/game/modules/tome/data/gfx/shockbolt/object/fire_wyrm_saliva.png new file mode 100644 index 0000000000000000000000000000000000000000..434bd9456547e063567ad29295a787345e2511ae Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/fire_wyrm_saliva.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/frost_wyrm_tooth.png b/game/modules/tome/data/gfx/shockbolt/object/frost_wyrm_tooth.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebff0ede71ef1a3ee79c884b4d8572eb8c0c214 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/frost_wyrm_tooth.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/ghoul_flesh.png b/game/modules/tome/data/gfx/shockbolt/object/ghoul_flesh.png new file mode 100644 index 0000000000000000000000000000000000000000..0549d3c02ab418bc2d398114ea87cdb4c350bafb Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/ghoul_flesh.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/green_worm.png b/game/modules/tome/data/gfx/shockbolt/object/green_worm.png new file mode 100644 index 0000000000000000000000000000000000000000..ac85ae182e35d28ff5a64e034b0914ed90a14994 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/green_worm.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/honey_tree_root.png b/game/modules/tome/data/gfx/shockbolt/object/honey_tree_root.png new file mode 100644 index 0000000000000000000000000000000000000000..7a98aa9579770a0051027f75d889fc96bcb80a7b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/honey_tree_root.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/hummerhorn_wing.png b/game/modules/tome/data/gfx/shockbolt/object/hummerhorn_wing.png new file mode 100644 index 0000000000000000000000000000000000000000..af47abfc048f6daa05b6370d537314b756ff3888 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/hummerhorn_wing.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/ice_ant_stinger.png b/game/modules/tome/data/gfx/shockbolt/object/ice_ant_stinger.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5d042ac40fcc784903475d2bc0cca1edc05903 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/ice_ant_stinger.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/infusion_of_wild_growth.png b/game/modules/tome/data/gfx/shockbolt/object/infusion_of_wild_growth.png new file mode 100644 index 0000000000000000000000000000000000000000..cf35b05b9f45680cee38a9232536355af6c10509 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/infusion_of_wild_growth.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/lifebinding_emerald.png b/game/modules/tome/data/gfx/shockbolt/object/lifebinding_emerald.png new file mode 100644 index 0000000000000000000000000000000000000000..e0bb34beb4bc8e74b96c7725dd0e14c4283d9fdc Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/lifebinding_emerald.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/minotaur_nose.png b/game/modules/tome/data/gfx/shockbolt/object/minotaur_nose.png new file mode 100644 index 0000000000000000000000000000000000000000..c9cc8e348c1387f652982f101b32dc8fb6497501 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/minotaur_nose.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/mummified_bone.png b/game/modules/tome/data/gfx/shockbolt/object/mummified_bone.png new file mode 100644 index 0000000000000000000000000000000000000000..50f88e1c8f1032cc212aa039deb08d8bdab8f5c8 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/mummified_bone.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/naga_tongue.png b/game/modules/tome/data/gfx/shockbolt/object/naga_tongue.png new file mode 100644 index 0000000000000000000000000000000000000000..9ed0a973611b06cea163d9811fb39043d2c346af Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/naga_tongue.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/orc_heart.png b/game/modules/tome/data/gfx/shockbolt/object/orc_heart.png new file mode 100644 index 0000000000000000000000000000000000000000..fb31553d2e15b50f218d6e8291c895992e4d37ef Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/orc_heart.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/pharao_ash.png b/game/modules/tome/data/gfx/shockbolt/object/pharao_ash.png new file mode 100644 index 0000000000000000000000000000000000000000..0de0810277edace93693881ede264a58f74eba2d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/pharao_ash.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/phial_demon_blood.png b/game/modules/tome/data/gfx/shockbolt/object/phial_demon_blood.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ae1c18bdfa6c20c357608909807f1947ad26fd Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/phial_demon_blood.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/pouch_bone_giant_dust.png b/game/modules/tome/data/gfx/shockbolt/object/pouch_bone_giant_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..c86bf338d8f8f00f7a9405dc319f44ff840c6ce1 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/pouch_bone_giant_dust.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/pouch_luminous_horror_dust.png b/game/modules/tome/data/gfx/shockbolt/object/pouch_luminous_horror_dust.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2dcffe83b1ce88a9d32d9f8468e46be89c2886 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/pouch_luminous_horror_dust.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/red_crystal_shard.png b/game/modules/tome/data/gfx/shockbolt/object/red_crystal_shard.png new file mode 100644 index 0000000000000000000000000000000000000000..ddaf70956c6cd5ed2c73587669824b155942cd23 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/red_crystal_shard.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/ritch_stinger.png b/game/modules/tome/data/gfx/shockbolt/object/ritch_stinger.png new file mode 100644 index 0000000000000000000000000000000000000000..cb5dcd46c883a906364b8eeee2031aa4337f73ab Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/ritch_stinger.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/sandworm_tooth.png b/game/modules/tome/data/gfx/shockbolt/object/sandworm_tooth.png new file mode 100644 index 0000000000000000000000000000000000000000..37c9d529414a94df601a9d523c05e67113710711 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/sandworm_tooth.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/skeleton_mage_skull.png b/game/modules/tome/data/gfx/shockbolt/object/skeleton_mage_skull.png new file mode 100644 index 0000000000000000000000000000000000000000..7ef1aa95bf24501d2708085b1c1b43ff5d01d73f Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/skeleton_mage_skull.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/snow_giant_kidney.png b/game/modules/tome/data/gfx/shockbolt/object/snow_giant_kidney.png new file mode 100644 index 0000000000000000000000000000000000000000..4bff90c57fd398e8ce50852476900aebdf4d83b2 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/snow_giant_kidney.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/spider_spinnarets.png b/game/modules/tome/data/gfx/shockbolt/object/spider_spinnarets.png new file mode 100644 index 0000000000000000000000000000000000000000..b286f54739629adf7e787a8ad79d1e3057205bbc Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/spider_spinnarets.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/storm_wyrm_claw.png b/game/modules/tome/data/gfx/shockbolt/object/storm_wyrm_claw.png new file mode 100644 index 0000000000000000000000000000000000000000..7e340f1d93aed983eda6ff275d1d87d08a2c1415 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/storm_wyrm_claw.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/taint_of_telepathy.png b/game/modules/tome/data/gfx/shockbolt/object/taint_of_telepathy.png new file mode 100644 index 0000000000000000000000000000000000000000..e0f7c01ddee54bd744a03dbbf3309c5803b614cf Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/taint_of_telepathy.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/troll_intestine.png b/game/modules/tome/data/gfx/shockbolt/object/troll_intestine.png new file mode 100644 index 0000000000000000000000000000000000000000..524dfe490b5652411e0584b7811a07077cd245d3 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/troll_intestine.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/vampire_lord_fang.png b/game/modules/tome/data/gfx/shockbolt/object/vampire_lord_fang.png new file mode 100644 index 0000000000000000000000000000000000000000..0ed9eab74bb1536d9d9e21772ac2a9d6b439e0c7 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vampire_lord_fang.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_elder_vampire_blood.png b/game/modules/tome/data/gfx/shockbolt/object/vial_elder_vampire_blood.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba4d7d770db1f225a06f9184307838617b57f75 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_elder_vampire_blood.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_fire_wyrm_saliva.png b/game/modules/tome/data/gfx/shockbolt/object/vial_fire_wyrm_saliva.png new file mode 100644 index 0000000000000000000000000000000000000000..434bd9456547e063567ad29295a787345e2511ae Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_fire_wyrm_saliva.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_squid_ink.png b/game/modules/tome/data/gfx/shockbolt/object/vial_squid_ink.png new file mode 100644 index 0000000000000000000000000000000000000000..2eae01fa12a4f1805ed2731fcab9e553e5b20a7d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_squid_ink.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_wight_ectoplasm.png b/game/modules/tome/data/gfx/shockbolt/object/vial_wight_ectoplasm.png new file mode 100644 index 0000000000000000000000000000000000000000..79faea9a6f151260caf3eb0616ae9c135af5f43d Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_wight_ectoplasm.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/warg_claw.png b/game/modules/tome/data/gfx/shockbolt/object/warg_claw.png new file mode 100644 index 0000000000000000000000000000000000000000..420ff9433c4a895ba19284e4da2b2f09ef87cf5e Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/warg_claw.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/wretchling_eyeball.png b/game/modules/tome/data/gfx/shockbolt/object/wretchling_eyeball.png new file mode 100644 index 0000000000000000000000000000000000000000..0a0065832d5fb4b08ee3f18eeafd655368c4575b Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/wretchling_eyeball.png differ diff --git a/game/modules/tome/data/gfx/shockbolt/object/xorn_fragment.png b/game/modules/tome/data/gfx/shockbolt/object/xorn_fragment.png new file mode 100644 index 0000000000000000000000000000000000000000..2421caabcee2150f38ef17a39033331a75eedf29 Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/xorn_fragment.png differ diff --git a/game/modules/tome/data/quests/east-portal.lua b/game/modules/tome/data/quests/east-portal.lua index d570dc3a745f358af3238ea81f5d3507a05bd4f0..c5f13a2633001a967156301d39ad0c62fcde7ff2 100644 --- a/game/modules/tome/data/quests/east-portal.lua +++ b/game/modules/tome/data/quests/east-portal.lua @@ -112,16 +112,10 @@ open_telmur = function(self, player) -- Reveal entrances game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Entrance into Telmur, tower of Telos", - display='>', color=colors.RED, - notice = true, - change_level=1, change_zone="telmur" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "TELMUR") local spot = level:pickSpot{type="zone-pop", subtype="telmur"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.logPlayer(game.player, "Tannen points to the location of Telmur on your map.") diff --git a/game/modules/tome/data/quests/lightning-overload.lua b/game/modules/tome/data/quests/lightning-overload.lua index 61924a263c0b8136be0901bd9e5af25912bcdd5b..a9a3c05b15393a61e428d12ca37bc0d3f2a3d9c9 100644 --- a/game/modules/tome/data/quests/lightning-overload.lua +++ b/game/modules/tome/data/quests/lightning-overload.lua @@ -88,24 +88,10 @@ end create_entrance = function(self) game:onLevelLoad("wilderness-1", function(zone, level) - local p = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Long road to the Tempest Peak", - display='>', color=colors.WHITE, - notice = true, - change_level=1, change_zone="tempest-peak", - change_level_check = function() - game.turn = game.turn + 5 * game.calendar.HOUR - if not game.player:hasQuest("lightning-overload").walked then - require("engine.ui.Dialog"):simpleLongPopup("Danger...", [[After an hours long walk you finally reach the end of the way. You are nearly on top of one of the highest peaks you can see. -The storm is raging above your head.]], 400) - game.player:hasQuest("lightning-overload").walked = true - end - end - } - p:resolve() p:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "TEMPEST_PEAK") local spot = level:pickSpot{type="zone-pop", subtype="tempest-peak"} game.zone:addEntity(level, p, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.player:setQuestStatus(self.id, engine.Quest.COMPLETED, "tempest-entrance") end diff --git a/game/modules/tome/data/quests/mage-apprentice.lua b/game/modules/tome/data/quests/mage-apprentice.lua index 14c03a10a6654920d3e80f597e3fbdc960b8768e..01a38d91788c66ff2dcb4268d0823f577849c08d 100644 --- a/game/modules/tome/data/quests/mage-apprentice.lua +++ b/game/modules/tome/data/quests/mage-apprentice.lua @@ -122,28 +122,9 @@ end access_angolwen = function(self, player) if player:hasQuest("antimagic") and not player:hasQuest("antimagic"):isEnded() then player:setQuestStatus("antimagic", engine.Quest.FAILED) end -- Fail antimagic quest - local g = mod.class.Grid.new{ - type = "floor", subtype = "grass", - show_tooltip=true, always_remember = true, - name="Angolwen, the hidden city of magic", - desc="Secret place of magic, set apart from the world to protect it.", - display='*', color=colors.WHITE, image="terrain/grass.png", add_displays={mod.class.Grid.new{image="terrain/town1.png", z=5}}, - notice = true, - change_level=1, change_zone="town-angolwen" - } - local p = mod.class.Grid.new{ - type = "floor", subtype = "grass", - show_tooltip=true, always_remember = true, - name="Portal to Angolwen", - desc="The city of magic lies inside the mountains to the west. Either a spell or a portal is needed to access it.", - display='*', color=colors.VIOLET, image = "terrain/grass.png", add_displays = {mod.class.Grid.new{image="terrain/maze_teleport.png"}}, - notice = true, - change_level=1, change_zone="town-angolwen", - change_level_check = function() local p = game.party:findMember{main=true} if p:attr("forbid_arcane") then game.log("The portal fizzles.") return true end return false end - } - g:resolve() g:resolve(nil, true) - p:resolve() p:resolve(nil, true) local level = game.level + local g = game.zone:makeEntityByName(game.level, "terrain", "TOWN_ANGOLWEN") + local p = game.zone:makeEntityByName(game.level, "terrain", "TOWN_ANGOLWEN_PORTAL") local spot = level:pickSpot{type="zone-pop", subtype="angolwen"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) game.nicer_tiles:updateAround(game.level, spot.x, spot.y) diff --git a/game/modules/tome/data/quests/master-jeweler.lua b/game/modules/tome/data/quests/master-jeweler.lua index 4ea16600083ad7c0d858de3f7595c86b7d23fca7..86d8f732c6e4ff15b5e71ab205ff2805427cba6e 100644 --- a/game/modules/tome/data/quests/master-jeweler.lua +++ b/game/modules/tome/data/quests/master-jeweler.lua @@ -56,16 +56,10 @@ end start_search = function(self, who) -- Reveal entrances game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Cavern leading to the valley of the moon", - display='>', color=colors.GREY, - notice = true, - change_level=1, change_zone="valley-moon-caverns" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "CAVERN_MOON") local spot = level:pickSpot{type="zone-pop", subtype="valley-moon-caverns"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) who:setQuestStatus(self.id, engine.Quest.COMPLETED, "search-valley") diff --git a/game/modules/tome/data/quests/orc-hunt.lua b/game/modules/tome/data/quests/orc-hunt.lua index 3091085316195b28e442e6206cca59ab3770992c..54064c117a2a10c05a7b55b3709542a9e6ab1071 100644 --- a/game/modules/tome/data/quests/orc-hunt.lua +++ b/game/modules/tome/data/quests/orc-hunt.lua @@ -30,16 +30,10 @@ end on_grant = function(self, who) -- Reveal reknor entrance game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, - name="A gate into the old kingdom of Reknor", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="reknor" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "REKNOR") local spot = level:pickSpot{type="zone-pop", subtype="reknor"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.logPlayer(game.player, "The elder points to Reknor on your map, to the north on the western side of the Iron Throne.") end diff --git a/game/modules/tome/data/quests/orc-pride.lua b/game/modules/tome/data/quests/orc-pride.lua index 7f8b79e16824b00fd249c601ab2fdbd8c0419a11..8ae4f700892bc594d09f56b32db92bbacfaed67b 100644 --- a/game/modules/tome/data/quests/orc-pride.lua +++ b/game/modules/tome/data/quests/orc-pride.lua @@ -61,52 +61,25 @@ end on_grant = function(self, who) -- Reveal entrances game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Entrance to Rak'shor Pride bastion", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="rak-shor-pride" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "RAK_SHOR_PRIDE") local spot = level:pickSpot{type="zone-pop", subtype="rak-shor-pride"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) - -- Reveal entrances - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Entrance to Vor Pride bastion", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="vor-pride" - } - g:resolve() g:resolve(nil, true) + g = game.zone:makeEntityByName(level, "terrain", "VOR_PRIDE") local spot = level:pickSpot{type="zone-pop", subtype="vor-pride"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) - -- Reveal entrances - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Entrance to Gorbat Pride bastion", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="gorbat-pride" - } - g:resolve() g:resolve(nil, true) + g = game.zone:makeEntityByName(level, "terrain", "GORBAT_PRIDE") local spot = level:pickSpot{type="zone-pop", subtype="gorbat-pride"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) - -- Reveal entrances - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Entrance to Grushnak Pride caverns", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="grushnak-pride" - } - g:resolve() g:resolve(nil, true) + g = game.zone:makeEntityByName(level, "terrain", "GRUSHNAK_PRIDE") local spot = level:pickSpot{type="zone-pop", subtype="grushnak-pride"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.logPlayer(game.player, "Aeryn points to the known locations on your map.") diff --git a/game/modules/tome/data/quests/pre-charred-scar.lua b/game/modules/tome/data/quests/pre-charred-scar.lua index 3e9ca171a55a9f96a6a487079b76e0b1b15233d1..4da02ffdc9693930302b143ef6c7522221e575db 100644 --- a/game/modules/tome/data/quests/pre-charred-scar.lua +++ b/game/modules/tome/data/quests/pre-charred-scar.lua @@ -30,16 +30,9 @@ on_grant = function(self, who) local chat = engine.Chat.new("pre-charred-scar", aeryn, who) chat:invoke() - -- Reveal entrance + -- Reveal entrance game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="The arid wastes of Erúan", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="eruan" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "ERUAN") local spot = level:pickSpot{type="zone-pop", subtype="eruan"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) end) diff --git a/game/modules/tome/data/quests/spydric-infestation.lua b/game/modules/tome/data/quests/spydric-infestation.lua index 622f42fccf6da80fcf1c5d73d0ddc4a4f0989167..74c24337197ce538c9a44ebc4f131c939430cf3d 100644 --- a/game/modules/tome/data/quests/spydric-infestation.lua +++ b/game/modules/tome/data/quests/spydric-infestation.lua @@ -32,16 +32,11 @@ end on_grant = function(self, who) -- Reveal entrance game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="A way into the caverns of Ardhungol", - display='>', color=colors.GREEN, - notice = true, - change_level=1, change_zone="ardhungol" - } + local g = game.zone:makeEntityByName(level, "terrain", "ARDHUNGOL") g:resolve() g:resolve(nil, true) local spot = level:pickSpot{type="zone-pop", subtype="ardhungol"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.logPlayer(game.player, "She marks the location of Ardhungol on your map.") end @@ -55,7 +50,8 @@ portal_back = function(self, who) name="Portal back to the Gates of Morning", display='>', color=colors.GOLD, notice = true, - change_level=1, change_zone="town-gates-of-morning" + change_level=1, change_zone="town-gates-of-morning", + image = "terrain/granite_floor1.png", add_mods={{image="terrain/demon_portal.png"}}, } g:resolve() g:resolve(nil, true) game.zone:addEntity(game.level, g, "terrain", who.x, who.y) diff --git a/game/modules/tome/data/quests/west-portal.lua b/game/modules/tome/data/quests/west-portal.lua index c5c6a020e2c6d4edfb0b44c32e61c7b110d1c8e2..1dcbbc35efa08a064c38a66f1bf4f735dde5b2a6 100644 --- a/game/modules/tome/data/quests/west-portal.lua +++ b/game/modules/tome/data/quests/west-portal.lua @@ -44,16 +44,10 @@ end on_grant = function(self, who) -- Reveal entrances game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Backdoor to the Vor Armoury", - display='>', color=colors.UMBER, - notice = true, - change_level=1, change_zone="vor-armoury" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "VOR_ARMOURY") local spot = level:pickSpot{type="zone-pop", subtype="vor-armoury"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.logPlayer(game.player, "Zemekkys points to the location of Vor Armoury on your map.") @@ -62,16 +56,10 @@ end wyrm_lair = function(self, who) -- Reveal entrances game:onLevelLoad("wilderness-1", function(zone, level) - local g = mod.class.Grid.new{ - show_tooltip=true, always_remember = true, - name="Entrance into the sandpit of Briagh", - display='>', color=colors.YELLOW, - notice = true, - change_level=1, change_zone="briagh-lair" - } - g:resolve() g:resolve(nil, true) + local g = game.zone:makeEntityByName(level, "terrain", "BRIAGH_LAIR") local spot = level:pickSpot{type="zone-pop", subtype="briagh"} game.zone:addEntity(level, g, "terrain", spot.x, spot.y) + game.nicer_tiles:updateAround(game.level, spot.x, spot.y) end) game.logPlayer(game.player, "Zemekkys points to the location of Briagh lair on your map.") diff --git a/game/modules/tome/data/zones/wilderness/grids.lua b/game/modules/tome/data/zones/wilderness/grids.lua index 0e0978e188d8112fbf71e30a004432e07f7d35c9..79fb60192dbf0f5f9dd328e1d0be322942f4f9b0 100644 --- a/game/modules/tome/data/zones/wilderness/grids.lua +++ b/game/modules/tome/data/zones/wilderness/grids.lua @@ -271,7 +271,7 @@ newEntity{ base="TOWN", define_as = "TOWN_LAST_HOPE", change_zone="town-last-hope", } newEntity{ base="TOWN", define_as = "TOWN_ANGOLWEN", - name = "Angolwen, the hidden city of magic", add_mos = {{image="terrain/town1.png"}}, + name = "Angolwen, the hidden city of magic", add_displays = {mod.class.Grid.new{z=5, image="terrain/town1.png"}}, desc = "Secret place of magic, set apart from the world to protect it.\nLead by the Supreme Archmage Linaniil.", change_zone="town-angolwen", } @@ -317,7 +317,7 @@ newEntity{ base="TOWN", define_as = "TOWN_IRON_COUNCIL", } -------------------------------------------------------------------------------- --- Zones +-- Maj'Eyal Zones -------------------------------------------------------------------------------- newEntity{ base="PLAINS", define_as = "ZONE_PLAINS", change_level=1, display='>', color=colors.VIOLET, notice = true, nice_tiler=false } newEntity{ base="DESERT", define_as = "ZONE_DESERT", change_level=1, display='>', color=colors.VIOLET, notice = true, nice_tiler=false } @@ -436,9 +436,107 @@ newEntity{ base="ZONE_PLAINS", define_as = "UNREMARKABLE_CAVE", change_zone="unremarkable-cave", } +newEntity{ base="ZONE_PLAINS", define_as = "REKNOR", + name="A gate into the old kingdom of Reknor", + color=colors.UMBER, + add_displays={class.new{image="terrain/cave_entrance_closed02.png", z=4}}, + change_zone="reknor", +} + +newEntity{ base="ZONE_PLAINS", define_as = "TELMUR", + name="Entrance into Telmur, tower of Telos", + color=colors.RED, + add_mos={{image="terrain/tower_entrance02.png"}}, add_displays={class.new{image="terrain/tower_entrance_up02.png", z=18, display_y=-1}}, + change_zone="telmur", +} + newEntity{ base="WATER_BASE", define_as = "MURGOL_LAIR", name="Way into the lair of Murgol", color={r=0, g=0, b=255}, add_displays={class.new{image="terrain/underwater/subsea_cave_entrance_01.png", z=4, display_h=2, display_y=-1}}, change_level=1, change_zone="murgol-lair", } + +newEntity{ base="ZONE_PLAINS", define_as = "TEMPEST_PEAK", + name="Long road to the Tempest Peak", + color=colors.WHITE, + add_displays={mod.class.Grid.new{image="terrain/road_upwards_01.png", display_h=2, display_y=-1}}, + change_level=1, change_zone="tempest-peak", + change_level_check = function() + game.turn = game.turn + 5 * game.calendar.HOUR + if not game.player:hasQuest("lightning-overload").walked then + require("engine.ui.Dialog"):simpleLongPopup("Danger...", [[After an hours long walk you finally reach the end of the way. You are nearly on top of one of the highest peaks you can see. +The storm is raging above your head.]], 400) + game.player:hasQuest("lightning-overload").walked = true + end + end, +} + +-------------------------------------------------------------------------------- +-- Far East Zones +-------------------------------------------------------------------------------- + +newEntity{ base="ZONE_DESERT", define_as = "RAK_SHOR_PRIDE", + name="Entrance to Rak'shor Pride bastion", + color=colors.UMBER, + add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}}, + change_zone="rak-shor-pride", +} + +newEntity{ base="ZONE_DESERT", define_as = "GORBAT_PRIDE", + name="Entrance to Gorbat Pride bastion", + color=colors.UMBER, + add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}}, + change_zone="gorbat-pride", +} + +newEntity{ base="ZONE_PLAINS", define_as = "GRUSHNAK_PRIDE", + name="Entrance to Grushnak Pride bastion", + color=colors.UMBER, + add_displays = {mod.class.Grid.new{image="terrain/ladder_down.png", z=5}}, + change_zone="grushnak-pride", +} + +newEntity{ base="ZONE_PLAINS", define_as = "VOR_PRIDE", + name="Entrance to Vor Pride bastion", + color=colors.UMBER, + add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}}, + change_zone="vor-pride", +} + +newEntity{ base="ZONE_PLAINS", define_as = "VOR_ARMOURY", + name="Backdoor to the Vor Armoury", + color=colors.UMBER, + add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}}, + change_zone="vor-armoury", +} + +newEntity{ base="ZONE_DESERT", define_as = "BRIAGH_LAIR", + name="Entrance into the sandpit of Briagh", + color=colors.YELLOW, + add_displays = {mod.class.Grid.new{image="terrain/ladder_down.png", z=5}}, + change_zone="briagh-lair", +} + +newEntity{ base="ZONE_DESERT", define_as = "CAVERN_MOON", + name="Cavern leading to the valley of the moon", + color=colors.GREY, + add_displays = {mod.class.Grid.new{image="terrain/cave_entrance_closed02.png", z=5}}, + change_zone="valley-moon-caverns", +} + +newEntity{ base="ZONE_PLAINS", define_as = "ARDHUNGOL", + name="A way into the caverns of Ardhungol", + color=colors.GREEN, + add_displays = {mod.class.Grid.new{image="terrain/cave_entrance02.png", z=5}}, + change_zone="ardhungol", +} + +newEntity{ base="ZONE_DESERT", define_as = "ERUAN", + name="The arid wastes of Erúan", + color=colors.UMBER, + add_displays={mod.class.Grid.new{image="terrain/road_upwards_01.png", display_h=2, display_y=-1}}, + change_zone="eruan", +} + +START POSITION RESET ON RELOAD ???? \ No newline at end of file