Code: Select all
newDamageType{
name = "hungering cold", type = "HCOLD",
projector = function(src, x, y, type, dam)
local target = game.level.map(x, y, Map.ACTOR)
if not target then return end
tmp = tmp or {}
if target and not tmp[target] then
tmp[target] = true
if target:hasEffect(target.EFF_FREEZE) then
DamageType:get(DamageType.COLD).projector(src, x, y, DamageType.COLD, dam*2.5)
else
DamageType:get(DamageType.COLD).projector(src, x, y, DamageType.COLD, dam)
if target:canBe("pin") then
local t = src:getTalentFromId(src.T_HUNGERING_COLD)
target:setEffect(target.EFF_HYPOTHERMIA, 6, {src=src, apply_power=src:combatSpellpower(), speed=t.getSlow(src,t)})
else
game.logSeen(target, "%s resists!", target.name:capitalize())
end
end
end
end,
}