function CasterDamageTarget takes unit caster, unit target, real damage returns nothing
local real bonusDamage = damage * unitdata[caster].spellMultiplier
local real negDamage = damage * unitdata[target].spellDefense
call UnitDamageTarget(caster, target, damage+bonusDamage-negDamage, false, false, /*
*/ ATTACK_TYPE_SPELL, DAMAGE_TYPE_NORMAL, null)
endfunction