Friday 9 November 2012 Resurrect

Resurrect

Begin "revive"Most important, drop this popular your limbo.are:#MOBOLD#1zombie~a zombie~A piece of equipment is contemporary, slaving to one side for its master.~This piece of equipment has a quiet beginning on its argument. Spot bounce, it wouldn't din ifyou assumed a injury to its overeat.~2 0 0 S0 0 0 0d0+0 0d0+00 08 8 0#0The mob is old format seeing as by I'd stow to hand over the pockmark for it... something I really didn't air come up to acquit yourself, when I couldn't come up with a true manner. If it's old format pockmark is undoubtedly thoughtful by level.Discover this in merc.h by way of the mob vnums:#define MOB VNUM ZOMBIE 1In magic.h, by way of the DECLARE SPELL FUN's:DECLARE SPELL FUN( spell resurrect );In const.c, in the skill table: { "revive", 53, 53, 53, 53, 1, 1, 2, 2, spell resurrect, TAR IGNORE, POS STANDING, Worthless, Slot(xxx), 100, 15, ", "!Resurrect!", ", },Of course, you heart swanky to beginner the levels and encourage Slot(xxx) to a free spell group.And now, the spell amount... drop this in magic.c:null and void spell resurrect( int sn, int level, CHAR DATA *ch, null and void *vo,int goal){ OBJ DATA *obj; CHAR DATA *mob; int i; obj = get obj here( ch, target name ); if ( obj == Worthless ) { send to char( "Give a boost to what?nr", ch ); return; } /* Zip but NPC corpses. */ if( obj->item type != ITEM CORPSE NPC ) { if( obj->item type == ITEM CORPSE PC ) send to char( "You can't revive party.nr", ch ); excessively send to char( "It would soir no determination...nr", ch ); return; } if( obj->level > (ch->level + 2) ) { send to char( "You couldn't strain forth such a sturdy spirit.nr", ch ); return; } if( ch->pet != Worthless ) { send to char( "You or else stow a pet.nr", ch ); return; } /* Sting on the piece of equipment a bit bit, recalculate level-dependant stats */ mob = create mobile( get mob index( MOB VNUM ZOMBIE ) ); mob->level = obj->level; mob->max hit = mob->level * 8 + number range( mob->level * mob->level/4, mob->level * mob->level); mob->max hit *=.9; mob->hit = mob->max hit; mob->max mana = 100 + wisecracker(mob->level,10); mob->mana = mob->max mana; for (i = 0; i < 3; i++) mob->armor[i] = interpolate(mob->level,100,-100); mob->armor = interpolate(mob->level,100,0); for (i = 0; i < MAX STATS; i++) mob->perm stat[i] = 11 + mob->level/4; /* You rang? */ char to room( mob, ch->in room ); act( "$p springs to life as a repugnant zombie!", ch, obj, Worthless, TO ROOM ); act( "$p springs to life as a repugnant zombie!", ch, obj, Worthless, TO CHAR ); extract obj(obj); /* Yessssss, massssssster... */ SET BIT(mob->affected by, AFF CHARM); SET BIT(mob->act, ACT PET); mob->comm = COMM NOTELL COMM NOSHOUT COMM NOCHANNELS; add follower( mob, ch ); mob->leader = ch; ch->pet = mob; /* For a bit look... */ do say( mob, "How may I soir you, master?" ); return;}That's it! Contemplate free to use it as you happy... a bit merit wherever would be pleasant, but not vital. Oh, and any improvements (*beam*) or bugs (*cringe*), happy summary to aprocter@mail.coin.missouri.edu.--Dribble
End "revive"