NOTE! This file and the functions in it is being phased out, so don't
code anything new that depends on it.
int add_spell_effect(int no_rnds, string type, string name, object callee,
string func, mixed params)
Adds a spell onto the player object. This is used so
that the player object itself keeps track of the current
spells he has active on him. For things like magic
missile and so on se the number of rounds to 1. Every
heart_beat the no_rnds of the spell gets decremented by
1 and the function is called as if
callee->func(attackee, params, no_rnds)
[als: note that no_rnds is decd -after- the func call]
the return value is the smount of xp the player gets for
casting of the spells. Either hps done or whatever.
int remove_spell_effect(string name)
Removes the spell effect from the current list of spell
effects on the player.
mixed *query_spell_effect(string name)
Returns the spell effects array for the spell of the
given name, returns 0 if the spell does not exist.
This will only return the first found spell effect.
Format of the array...
({ type, name, ({ no_rnds, callee, func, params }) })
Returns 0 on failure
mixed *query_spell_effects_type(string type)
Returns all the spell effects of a giuven type that are
active on the object. An example of the use of this is
to check to see if there is another attack spell already
active before casting another. ie Magic Missile.
Format of the array
({ type, name, ({ no_rnds, callee, func, params }), ... })
Returns ({ }) on failure
mixed *query_spell_effects_type(string name)
Returns all the spell effects of the given name on the
object.
({ type, name, ({ no_rnds, callee, func, params }), ... })
Returns ({ }) on failure.
void do_spell_effects(object attacker)
Does the spell effects currently actrive on the player.
This is called every heart_beat. does a call of
callee->func(attackee, params, no_rnds)
and adds the return value on the players current xp.