Pages:<< prev 1 next >>
#1 Jan 7, 2004 1:00 pm
Black Hand
GroupAdministrators
Posts3,706
JoinedJan 1, 2002
This is a guide for how to create a new coded spell in AFKMud.
Coded spells ( those not simply created using sset ) usually require the following steps in Smaug:
1. The code for the spell itself.
2. A DECLARE_SPELL_FUN statement in mud.h.
3. 2 entries to the spell tables in tables.c.
AFKMud does not require steps 2 and 3, but step one must be handled differently. For a coded spell to work, it must be of type SPELLF.
Smaug example:
ch_ret some_magic( int sn, int level, CHAR_DATA *ch, void *vo )
AFKMud example:
SPELLF some_magic( int sn, int level, CHAR_DATA *ch, void *vo )
The main difference is in the use of the SPELLF macro. This was necessary in order to get g++ to accept the use of the dlsym code while also retaining compatibility with plain gcc for those who prefer that. The details aren't terribly important to know.
Converting spell snippets from Smaug to AFKMud will need to keep these changes in mind for those spells to work.
Coded spells ( those not simply created using sset ) usually require the following steps in Smaug:
1. The code for the spell itself.
2. A DECLARE_SPELL_FUN statement in mud.h.
3. 2 entries to the spell tables in tables.c.
AFKMud does not require steps 2 and 3, but step one must be handled differently. For a coded spell to work, it must be of type SPELLF.
Smaug example:
ch_ret some_magic( int sn, int level, CHAR_DATA *ch, void *vo )
AFKMud example:
SPELLF some_magic( int sn, int level, CHAR_DATA *ch, void *vo )
The main difference is in the use of the SPELLF macro. This was necessary in order to get g++ to accept the use of the dlsym code while also retaining compatibility with plain gcc for those who prefer that. The details aren't terribly important to know.
Converting spell snippets from Smaug to AFKMud will need to keep these changes in mind for those spells to work.
Pages:<< prev 1 next >>