diff --git a/game/modules/tome/data/birth/races/construct.lua b/game/modules/tome/data/birth/races/construct.lua index 507f84dafa887c4bec8b06277fbc287797a7e410..29d4034e3d9ad5db686c372d65657ca5eb58ce8c 100644 --- a/game/modules/tome/data/birth/races/construct.lua +++ b/game/modules/tome/data/birth/races/construct.lua @@ -95,7 +95,7 @@ newBirthDescriptor inscription_restrictions = { ["inscriptions/runes"] = true, }, resolvers.inscription("RUNE:_MANASURGE", {cooldown=25, dur=10, mana=620}), resolvers.inscription("RUNE:_SHIELDING", {cooldown=14, dur=5, power=100}), - resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10}), + resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10, dur=5, power=15}), type = "construct", subtype="golem", image = "npc/alchemist_golem.png", starting_intro = "ghoul", diff --git a/game/modules/tome/data/birth/races/elf.lua b/game/modules/tome/data/birth/races/elf.lua index 5e3c922cfbd37f921cccff6e460481295558219b..59b540a239db82ae55e4b6ebf8e328eae041c175 100644 --- a/game/modules/tome/data/birth/races/elf.lua +++ b/game/modules/tome/data/birth/races/elf.lua @@ -94,7 +94,7 @@ newBirthDescriptor starting_intro = "shalore", life_rating = 9, resolvers.inscription("RUNE:_SHIELDING", {cooldown=14, dur=5, power=100}), - resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10}), + resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10, dur=5, power=15}), }, experience = 1.35, random_escort_possibilities = { {"tier1.1", 1, 2}, {"tier1.2", 1, 2}, {"daikara", 1, 2}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, }, diff --git a/game/modules/tome/data/birth/races/undead.lua b/game/modules/tome/data/birth/races/undead.lua index 1e3341000a4bd3b5441ffa72631e8f0a5acd6fef..bf29913eafd006a8c8a172fef1d6f22fa4f3c6d5 100644 --- a/game/modules/tome/data/birth/races/undead.lua +++ b/game/modules/tome/data/birth/races/undead.lua @@ -63,7 +63,7 @@ newBirthDescriptor{ forbid_nature = 1, inscription_restrictions = { ["inscriptions/runes"] = true, ["inscriptions/taints"] = true, }, resolvers.inscription("RUNE:_SHIELDING", {cooldown=14, dur=5, power=100}), - resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10}), + resolvers.inscription("RUNE:_PHASE_DOOR", {cooldown=7, range=10, dur=5, power=15}), }, random_escort_possibilities = { {"tier1.1", 1, 2}, {"tier1.2", 1, 2}, {"daikara", 1, 2}, {"old-forest", 1, 4}, {"dreadfell", 1, 8}, {"reknor", 1, 2}, }, } diff --git a/game/modules/tome/data/general/objects/scrolls.lua b/game/modules/tome/data/general/objects/scrolls.lua index 546afa9372625c8177189db2a35286b8410399d6..038a9b1114157c53a221e39b06c8e30456689c72 100644 --- a/game/modules/tome/data/general/objects/scrolls.lua +++ b/game/modules/tome/data/general/objects/scrolls.lua @@ -266,6 +266,8 @@ newEntity{ base = "BASE_RUNE", inscription_kind = "teleport", inscription_data = { cooldown = resolvers.rngrange(8, 10), + dur = resolvers.mbonus_level(5, 3), + power = resolvers.mbonus_level(30, 15, function(e, v) return v * 1 end), range = resolvers.mbonus_level(10, 5, function(e, v) return v * 1 end), use_stat_mod = 0.07, }, diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua index a6289726074f60d293e7f7e37d20ca4d9105fe8b..e8db3b6df5d343646123c140e584c8c81af63bd0 100644 --- a/game/modules/tome/data/talents/misc/inscriptions.lua +++ b/game/modules/tome/data/talents/misc/inscriptions.lua @@ -339,15 +339,24 @@ newInscription{ game.level.map:particleEmitter(self.x, self.y, 1, "teleport") self:teleportRandom(self.x, self.y, data.range + data.inc_stat) game.level.map:particleEmitter(self.x, self.y, 1, "teleport") + self:setEffect(self.EFF_OUT_OF_PHASE, data.dur or 3, { + defense=(data.power or data.range) + data.inc_stat * 3, + resists=(data.power or data.range) + data.inc_stat * 3, + effect_reduction=(data.power or data.range) + data.inc_stat * 3, + }) return true end, info = function(self, t) local data = self:getInscriptionData(t.short_name) - return ([[Activate the rune to teleport randomly in a range of %d.]]):format(data.range + data.inc_stat) + local power = (data.power or data.range) + data.inc_stat * 3 + return ([[Activate the rune to teleport randomly in a range of %d. + Afterwards you stay out of phase for %d turns. In this state all new negative status effects duration is reduced by %d%%, your defense is increased by %d and all your resistances by %d%%.]]): + format(data.range + data.inc_stat, data.dur or 3, power, power, power) end, short_info = function(self, t) local data = self:getInscriptionData(t.short_name) - return ([[range %d]]):format(data.range + data.inc_stat) + local power = (data.power or data.range) + data.inc_stat * 3 + return ([[range %d; power %d; dur %d]]):format(data.range + data.inc_stat, power, data.dur or 3) end, }