diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua index a796f4973e9317324118db9ef18cb312d787c318..e8c8aaed82717d224583dd152b99e5c7445ec40e 100644 --- a/game/modules/tome/data/damage_types.lua +++ b/game/modules/tome/data/damage_types.lua @@ -117,7 +117,7 @@ newDamageType{ end, } newDamageType{ - name = "cold", type = "COLD", text_color = "#BLUE#", + name = "cold", type = "COLD", text_color = "#1133F3#", projector = function(src, x, y, type, dam) local realdam = DamageType.defaultProjector(src, x, y, type, dam) local target = game.level.map(x, y, Map.ACTOR) diff --git a/game/modules/tome/data/talents/spells/ice.lua b/game/modules/tome/data/talents/spells/ice.lua index 7bf3a6e6df29c1c06fb13d280763d335c3d3ea52..f2752a731538c5ae26aeb1cf781c3de6de8300bb 100644 --- a/game/modules/tome/data/talents/spells/ice.lua +++ b/game/modules/tome/data/talents/spells/ice.lua @@ -33,13 +33,20 @@ newTalent{ local tg = {type="ball", range=self:getTalentRange(t), radius=1, talent=t} local x, y = self:getTarget(tg) if not x or not y then return nil end - self:project(tg, x, y, DamageType.ICE, self:spellCrit(self:combatTalentSpellDamage(t, 18, 200))) - game.level.map:particleEmitter(self.x, self.y, math.max(math.abs(x-self.x), math.abs(y-self.y)), "ice_shards", {tx=x-self.x, ty=y-self.y}) + local grids = self:project(tg, x, y, function(px, py) + local actor = game.level.map(px, py, Map.ACTOR) + if actor and actor ~= self then + DamageType:get(DamageType.ICE).projector(self, actor.x, actor.y, DamageType.ICE, self:spellCrit(self:combatTalentSpellDamage(t, 18, 200))) + game.level.map:particleEmitter(self.x, self.y, math.max(math.abs(actor.x-self.x), math.abs(actor.y-self.y)), "ice_shards", {tx=actor.x-self.x, ty=actor.y-self.y}) + end + end) + game:playSoundNear(self, "talents/ice") return true end, info = function(self, t) return ([[Conjures up a bolt of fire, setting the target ablaze and doing %0.2f fire damage over 3 turns. + This spell will never hit the caster. The damage will increase with the Magic stat]]):format(self:combatTalentSpellDamage(t, 25, 200)) end, }