From: Fili Subject: Mob Summoning Spell This code allows you to create a spell that will summon a zombie when cast. It can easily be changed to suit your needs, and should work fine with whatever setting you want to put it in. If it doesn't work, mail cybom@netropolis.net. Good Luck. 7/19/97 - There was a problem with the fact that I had it summoning the wrong kind of mob :) Oh well. I also saw a parse error or two so I dedided now would be a good time to fix it. Sorry! Begin Code: --------------------- in magic.c: around line 875 (I have heavily modified code) BEFORE void mag_summons #define MOB_UNDEAD 1000 /* The number is the vnum of the mob to be summoned */ in void mag_summons() add after switch (spellnum) { case SPELL_SUMMON_UNDEAD: /* Tells what spell we're using */ handle_corpse = 0; /* Tells that we do not need a corpse to work the spell on */ msg = 12; /* In an array above, you see the message numbers. This tells what message number to use */ mob_num = MOB_UNDEAD; /* This is what the #define was for. This tells which mob you want to summon */ mob = read_mobile(mob_num, VIRTUAL); /* This sets the variable 'mob' to the vnum of the mob to summon (correct me if I'm wrong here...) */ char_to_room(mob, ch->in_room); /* This actually loads the mob */ IS_CARRYING_W(mob) = 0; /* Makes sure the mob isn't carrying anything */ IS_CARRYING_N(mob) = 0; /* Makes sure the mob can't carry anything */ SET_BIT(AFF_FLAGS(mob), AFF_CHARM); /* Makes the mob take the caster's orders */ add_follower(mob, ch); /* Actually make the mob follow the caster */ act(mag_summon_msgs[fmsg], FALSE, ch, 0, mob, TO_ROOM); /* send a message to the room */ send_to_char("The Zombies you summoned appear before you.\r\n", ch); /* send a message to the caster saying that he succeeded */ break; /* the end */ in spell_parser.c: around line 94: Change the first "!unused!" to "summon undead" REMEMBER THE NUMBER THAT IS HERE. The numbers are stated in the comments. Line 94 is 2 lines after the /* 50 */, so the number is 52. around line 1011: spello(SPELL_SUMMON_UNDEAD, 100, 75, 3, POS_SITTING, TAR_IGNORE, FALSE, MAG_SUMMONS); /* read one of the spell.doc files on the snippets site for explanation here */ in magic.h: around line 91: Add in #define SPELL_SUMMON_UNDEAD ?? /* The ?? is the number from spell_parser.c */ Then, all you have to do is add in the spell in class.c, and you're pretty much done! Have fun! Hope it works.... Fili