[ tamius.net | &DnD — magic++ ]
« back to the first page


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)


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.

determineDamage(dice, caster)

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).