Spells are generally defined by the DM. Each spell must offer the following functions:
- setTarget(target) or setTargets(targets) or setTargetAOE(position)
- determineDamage(damageDie, caster)
setTarget(target)Takes an object (a player, creature, other object) and makes it a target of a spell. If target is out of range, an ’OutOfRange’ exception is thrown.
Takes an array of targets and makes them a target of spell.
If one of the targets is out of range, an OutOfRange exception is thrown.
If there’s too many targets, a TooManyItems exception is thrown.
If we’re trying to cast an area-of-effect spell, we pass a position instead of a target. Position marks the center of the wanted area of effect. Throws an ’OutOfRange’ exception if the position is out of range.
Determines the damage a spell will cause. You need to pass two arguments: dice that you need to roll for damage, and whoever is casting the spell (in order to determine bonuses and multipliers).