Commit 5b3285fa13398e482872105b9bf1d8a473d5c0dc

Authored by DarkGod
1 parent 786e0a63

alchemist fixes

... ... @@ -4098,10 +4098,13 @@ function _M:fireTalentCheck(event, ...)
4098 4098 if self[store] and next(self[store]) then
4099 4099 for tid, kind in pairs(self[store]) do
4100 4100 if kind == "effect" then
  4101 + self.__project_source = self.tmp[tid]
4101 4102 ret = self:callEffect(tid, event, ...) or ret
4102 4103 else
  4104 + self.__project_source = self.sustain_talents[tid]
4103 4105 ret = self:callTalent(tid, event, ...) or ret
4104 4106 end
  4107 + self.__project_source = nil
4105 4108 end
4106 4109 end
4107 4110 return ret
... ...
... ... @@ -1229,7 +1229,7 @@ function _M:getTextualDesc(compare_with, use_actor)
1229 1229 if self.alchemist_bomb or self.type == "gem" and use_actor:knowTalent(Talents.T_CREATE_ALCHEMIST_GEMS) then
1230 1230 local a = self.alchemist_bomb
1231 1231 if not a then
1232   - a = game.zone.object_list["ALCHEMIST_GEM_"..self.name:upper()]
  1232 + a = game.zone.object_list["ALCHEMIST_GEM_"..self.name:gsub(" ", "_"):upper()]
1233 1233 if a then a = a.alchemist_bomb end
1234 1234 end
1235 1235 if a then
... ... @@ -1239,7 +1239,13 @@ function _M:getTextualDesc(compare_with, use_actor)
1239 1239 if a.mana then desc:add(("Mana regain %d"):format(a.mana), true) end
1240 1240 if a.daze then desc:add(("%d%% chance to daze for %d turns"):format(a.daze.chance, a.daze.dur), true) end
1241 1241 if a.stun then desc:add(("%d%% chance to stun for %d turns"):format(a.stun.chance, a.stun.dur), true) end
1242   - if a.splash then desc:add(("Additional %d %s damage"):format(a.splash.dam, DamageType:get(DamageType[a.splash.type]).name), true) end
  1242 + if a.splash then
  1243 + if a.splash.desc then
  1244 + desc:add(a.splash.desc, true)
  1245 + else
  1246 + desc:add(("Additional %d %s damage"):format(a.splash.dam, DamageType:get(DamageType[a.splash.type]).name), true)
  1247 + end
  1248 + end
1243 1249 if a.leech then desc:add(("Life regen %d%% of max life"):format(a.leech), true) end
1244 1250 end
1245 1251 end
... ...
... ... @@ -69,7 +69,7 @@ newGem("Diamond", "object/diamond.png",5, 18, "white", 40, 50, 5, 70,
69 69 )
70 70 newGem("Pearl", "object/pearl.png", 5, 18, "white", 40, 50, 5, 70,
71 71 { resists = {all=5}, combat_armor = 5 },
72   - { splash={type="LITE", dam=100} }
  72 + { splash={type="LITE", dam=100, desc = "Lights terrain (power 100)"} }
73 73 )
74 74 newGem("Moonstone", "object/moonstone.png",5, 18, "white", 40, 50, 5, 70,
75 75 { combat_def=10, combat_mentalresist=10, combat_spellresist=10, combat_physresist=10, },
... ... @@ -97,7 +97,7 @@ newGem("Turquoise", "object/turquoise.png",4, 16, "green", 30, 40, 4, 65,
97 97 )
98 98 newGem("Jade", "object/jade.png", 4, 16, "green", 30, 40, 4, 65,
99 99 { resists = {all=4}, combat_armor = 4 },
100   - { splash={type="SLOW", dam=-1 + 1 / (1 + 0.20)} }
  100 + { splash={type="SLOW", dam= 1 - 1 / (1 + 0.20), desc = "Slows by 17%"} }
101 101 )
102 102 newGem("Sapphire", "object/sapphire.png",4, 16, "blue", 30, 40, 4, 65,
103 103 { combat_def=8, combat_mentalresist=8, combat_spellresist=8, combat_physresist=8, },
... ... @@ -141,7 +141,7 @@ newGem("Aquamarine", "object/aquamarine.png",2, 10, "blue", 10, 20, 2, 35,
141 141 )
142 142 newGem("Ametrine", "object/ametrine.png",1, 8, "yellow", 1, 10, 1, 20,
143 143 { inc_damage = {all=2}, combat_physcrit=1, combat_mindcrit=1, combat_spellcrit=1, },
144   - { splash={type="LITE", dam=1} }
  144 + { splash={type="LITE", dam=10, desc = "Lights terrain (power 10)"} }
145 145 )
146 146 newGem("Zircon", "object/zircon.png",1, 8, "yellow", 1, 10, 1, 20,
147 147 { resists = {all=1}, combat_armor = 1 },
... ...
... ... @@ -59,7 +59,7 @@ newTalent{
59 59 local duration = t.getDuration(self, t)
60 60 local chance = t.getChance(self, t)
61 61 local dam = t.getDamage(self, t)
62   - golem:setEffect(golem.EFF_CAUSTIC_GOLEM, duration, {chance=chance, dam=dam})
  62 + golem:setEffect(golem.EFF_CAUSTIC_GOLEM, duration, {src = golem, chance=chance, dam=dam})
63 63 end,
64 64 info = function(self, t)
65 65 local duration = t.getDuration(self, t)
... ...
... ... @@ -66,7 +66,7 @@ newTalent{
66 66 end
67 67 end
68 68 if did_something then
69   - game.logSeen(golem, "%s is energized by the attack, reducing some talents cooldowns!", golem.name:capitalize())
  69 + game.logSeen(golem, "%s is energized by the attack, reducing some talent cooldowns!", golem.name:capitalize())
70 70 end
71 71 end,
72 72 info = function(self, t)
... ... @@ -184,7 +184,7 @@ newTalent{
184 184 end,
185 185 activate = function(self, t)
186 186 game:playSoundNear(self, "talents/lightning")
187   - local ret = {}
  187 + local ret = {name = self.name:capitalize().."'s "..t.name}
188 188 self:talentTemporaryValue(ret, "movement_speed", t.getSpeed(self, t))
189 189 ret.last_life = self.life
190 190 return ret
... ... @@ -193,14 +193,15 @@ newTalent{
193 193 return true
194 194 end,
195 195 info = function(self, t)
196   - local speed = t.getSpeed(self, t)
  196 + local speed = t.getSpeed(self, t) * 100
197 197 local dam = t.getDamage(self, t)
198 198 local turn = t.getTurn(self, t)
199 199 local range = self:getTalentRange(t)
200   - return ([[Infuse your body with lightning energy, bolstering your legs (+%d%% movement speed).
201   - Each turn a foe within range %d will get hit by lightning, dealing %0.2f lightning damage.
202   - Each time your turn start, if you have lost over 20%% since the last turn you gain %d%% of a turn.
  200 + return ([[Infuse your body with lightning energy, bolstering your movement speed by +%d%%.
  201 + Each turn, a foe within range %d will be struck by lightning and be dealt %0.1f Lightning damage.
  202 + In addition, damage to your health will energize you.
  203 + At the start of each turn in which you have lost at least %d life (20%% of your maximum life) since your last turn, you will gain %d%% of a turn.
203 204 The effects increase with your Spellpower.]]):
204   - format(speed, range, damDesc(self, DamageType.LIGHTNING, t.getDamage(self, t)), turn)
  205 + format(speed, range, damDesc(self, DamageType.LIGHTNING, t.getDamage(self, t)), self.max_life * 0.2, turn)
205 206 end,
206 207 }
... ...
... ... @@ -2402,7 +2402,7 @@ newEffect{
2402 2402 newEffect{
2403 2403 name = "ICE_ARMOUR", image = "talents/ice_armour.png",
2404 2404 desc = "Ice Armour",
2405   - long_desc = function(self, eff) return ("The target is covered in a layer of ice. Its armour is increased by %d, it deals %0.1f Cold damage to attackers that hit in melee, and 50%% of it's damage is converted to cold."):format(eff.armor, self:damDesc(DamageType.COLD, eff.dam)) end,
  2405 + long_desc = function(self, eff) return ("The target is covered in a layer of ice. Its armour is increased by %d, it deals %0.1f Cold damage to attackers that hit in melee, and 50%% of its damage is converted to cold."):format(eff.armor, self:damDesc(DamageType.COLD, eff.dam)) end,
2406 2406 type = "magical",
2407 2407 subtype = { cold=true, armour=true, },
2408 2408 status = "beneficial",
... ...