Rumble will add this snippet when its done, come on lads
Tnx to rumble im closer, he just dont recall the right syntax, hope someone else does, in:
Code:
/* affect_update: called from comm.c (causes spells to wear off) */
void affect_update(void)
{
struct affected_type *af, *next;
struct char_data *i;
for (i = character_list; i; i = i->next)
for (af = i->affected; af; af = next) {
next = af->next;
if (af->duration >= 1)
af->duration--;
else if (af->duration == -1) /* No action */
;
else {
if ((af->spell > 0) && (af->spell <= MAX_SPELLS))
if (!af->next || (af->next->spell != af->spell) ||
(af->next->duration > 0))
if (spell_info[af->spell].wear_off_msg)
send_to_char(i, "%s\r\n", spell_info[af->spell].wear_off_msg);
affect_remove(i, af);
}
}
}
.
Rumble said somewhere after wear_off we need something like
if af->spell = FLY or fly or Fly set POS_STANDING