!!! This Zone was created by Brett Lynnes and Andy McLeod !!! We're just some bored college students from Montana... so you !!! don't need to credit us for it. Besides, I sorta stole the !!! idea off of a mud I played a while back. !!! this folder includes 3.wld 3.obj 3.mob and 3.zon !!! Smurfville is an anooying place with lots of do-gooder smurfs and !!! (of course) Gargamel's castle. ** added bonus- Barney's playland !! This was created for Circle Mud n115 so if your MUD doesnt support !! lettered bitvectors, you will have to make some changes !! You are going to need to make some code changes or remove the !! special flag (BITVECTOR a) if you want to use the mobs here. !! I made the entrance on wld #300 ! Code changes to make: in spec_assign.c add: SPECIAL(papasmurf); SPECIAL(barney); SPECIAL(smurf); then in spec_procs.c add: ACMD(do_gen_comm); SPECIAL(papasmurf); SPECIAL(barney); SPECIAL(smurf); then later in the file (i did it after SPECIAL(magic_user){ }) SPECIAL(smurf) { if(cmd) return(0); switch (number(0, 30)) { case 0: do_gen_comm(ch, "Tra, La, la, La, la, la", 0, SCMD_SHOUT); return (1); case 1: do_gen_comm(ch, "Will you be my friend?", 0, SCMD_SHOUT); return (1); case 2: do_gen_comm(ch, "It's a very smurfy day in Smurfville!", 0, SCMD_SHOUT); return (1); case 3: do_gen_comm(ch, "Everything is Smurfy-OK!", 0, SCMD_SHOUT); return (1); case 4: do_gen_comm(ch, "Yea, we're so happy!", 0, SCMD_SHOUT); return (1); default: return (0); } } SPECIAL(barney) { if(cmd) return(0); switch (number(0, 30)) { case 0: do_gen_comm(ch, "I love you, you love me, ...", 0, SCMD_SHOUT); return (1); case 1: do_gen_comm(ch, "Will you be my friend?", 0, SCMD_SHOUT); return (1); case 2: do_gen_comm(ch, "Happy, happy, happy, aren't we all SO happy!", 0, SCMD_SHOUT); return (1); case 3: do_gen_comm(ch, "C'mon kids sing along...", 0, SCMD_SHOUT); return (1); case 4: do_gen_comm(ch, "Yea, we're so happy!", 0, SCMD_SHOUT); return (1); default: return (0); } } SPECIAL(papasmurf) { struct char_data *vict; switch (number(0, 30)) { case 0: do_gen_comm(ch, "Tra, La, la, La, la, la", 0, SCMD_SHOUT); return (1); case 1: do_gen_comm(ch, "Will you be my friend?", 0, SCMD_SHOUT); return (1); case 2: do_gen_comm(ch, "It's a very smurfy day in Smurfville!", 0, SCMD_SHOUT); return (1); case 3: do_gen_comm(ch, "Everything is Smurfy-OK!", 0, SCMD_SHOUT); return (1); default: return (0); } if (cmd || GET_POS(ch) != POS_FIGHTING) return (FALSE); /* pseudo-randomly choose someone in the room who is fighting me */ for (vict = world[ch->in_room].people; vict; vict = vict->next_in_room) if (FIGHTING(vict) == ch && !number(0, 4)) break; /* if I didn't pick any of those, then just slam the guy I'm fighting */ if (vict == NULL && IN_ROOM(FIGHTING(ch)) == IN_ROOM(ch)) vict = FIGHTING(ch); /* Hm...didn't pick anyone...I'll wait a round. */ if (vict == NULL) return (TRUE); if ((GET_LEVEL(ch) > 13) && (number(0, 10) == 0)) cast_spell(ch, vict, NULL, SPELL_SLEEP); if ((GET_LEVEL(ch) > 7) && (number(0, 8) == 0)) cast_spell(ch, vict, NULL, SPELL_BLINDNESS); if ((GET_LEVEL(ch) > 12) && (number(0, 12) == 0)) { if (IS_EVIL(ch)) cast_spell(ch, vict, NULL, SPELL_ENERGY_DRAIN); else if (IS_GOOD(ch)) cast_spell(ch, vict, NULL, SPELL_DISPEL_EVIL); } if (number(0, 4)) return (TRUE); switch (GET_LEVEL(ch)) { case 4: case 5: cast_spell(ch, vict, NULL, SPELL_MAGIC_MISSILE); break; case 6: case 7: cast_spell(ch, vict, NULL, SPELL_CHILL_TOUCH); break; case 8: case 9: cast_spell(ch, vict, NULL, SPELL_BURNING_HANDS); break; case 10: case 11: cast_spell(ch, vict, NULL, SPELL_SHOCKING_GRASP); break; case 12: case 13: cast_spell(ch, vict, NULL, SPELL_LIGHTNING_BOLT); break; case 14: case 15: case 16: case 17: cast_spell(ch, vict, NULL, SPELL_COLOR_SPRAY); break; default: cast_spell(ch, vict, NULL, SPELL_FIREBALL); break; } return (TRUE); } ! Depending on your version of Circle MUD you may have to disable the ! command in act.comm.c that doesn't allow mobs to shout (it's in the ! function do_gen_comm) ! Well that is about it... *insert standard disclaimer here* ! ie. "I am not responsible for any damages this code incurrs on X" ! if you have any questions/comments/rude insults you can reach me ! at cheez_keeper@hotmail.com ! ENJOY!