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,
}