--- @alias SpellTargetTest fun(caster: Character, targetPosition: Vec3) : boolean return { any = function() return true end, caster = function(caster, targetPosition) local targetCharacterId = Tree.level.characterGrid:get(targetPosition) return caster.id == targetCharacterId end, character = function(caster, targetPosition) local targetCharacterId = Tree.level.characterGrid:get(targetPosition) return not not targetCharacterId end }