I have no idea if this has been used before or not, but it's something I came up with a while back... Maybe it'll make things more clear for some. Title: Implementor Slay command Function: Provides a way for implementors to fight mobs. Author: Robert Dylina Network alias: tdlord MUD alias: Shaidar Email: tdlord@elite.net & shaidar@muds.org MUD compatibility: Designed for CircleMudbpl11 I know you can start a fight with a mob by casting a violence spell, but I don't wanna have to! So I made this. It edits the do_kill command so that you can type kill fido and you will fight the fido. Yet there is a new command called "slay" that lets you still instantly kill a mob or player. "slay" will not let you kill a player. If you want to kill a player use the command "pslay". ;) Lemme know at the above email address if you are using my code so I know it's in use. Etc. Peace out! ---in act.offensive.c--- Down at the very bottom put: /* slay for impl by tdlord */ ACMD(do_slay) { struct char_data *vict; one_argument(argument, arg); if(!*arg){ act("Slay what?",FALSE,ch,0,0,TO_CHAR); return; } if(!(vict = get_char_room_vis(ch, arg))){ act("Hey, that mob isn't here!",FALSE, ch,0,0,TO_CHAR); return; } else { if(!IS_NPC(vict)){ act("Use pslay to kill a player.",FALSE,ch,0,0,TO_CHAR); } else { act("You chop $M to pieces! Ah! The blood!", FALSE, ch,0,vict,TO_CHAR); act("$N chops you to pieces!", FALSE, vict, 0, ch, TO_CHAR); act("$n brutally slays $N!", FALSE, ch, 0, vict, TO_NOTVICT); raw_kill(vict); } } } /* pslay for impl by tdlord */ ACMD(do_pslay) { struct char_data *vict; one_argument(argument, arg); if(!*arg){ act("Slay who?",FALSE,ch,0,0,TO_CHAR); return; } if(!(vict = get_char_room_vis(ch, arg))){ act("Hey, that player isn't here!",FALSE,ch,0,0,TO_CHAR); return; } else { if(IS_NPC(vict)){ act("Use slay to kill a mobile.",FALSE,ch,0,0,TO_CHAR); return; } else { act("You chop $M to pieces! Ah! The blood!", FALSE,ch,0,vict,TO_CHAR); act("$N chops you to pieces!", FALSE, vict, 0, ch, TO_CHAR); act("$n brutally slays $N!", FALSE, ch, 0, vict, TO_NOTVICT); raw_kill(vict); } } } After: if (!(vict = get_char_room_vis(ch, arg))) send_to_char("They aren't here.\r\n", ch); else if (ch == vict) send_to_char("Your mother would be so sad.. :(\r\n", ch); Remove: else { act("You chop $M to pieces! Ah! The blood!", FALSE, ch, 0, vict,TO_CHAR act("$N chops you to pieces!", FALSE, vict, 0, ch, TO_CHAR); act("$n brutally slays $N!", FALSE, ch, 0, vict, TO_NOTVICT); raw_kill(vict); } ---in interpreter.c--- Somewhere in the ACMD's place: ACMD(do_slay); ACMD(do_pslay); Down in the area with the {}'s place in the correct alphabetic order: { "pslay" , POS_FIGHTING, do_pslay , LVL_IMPL, 0 }, { "slay" , POS_FIGHTING, do_slay , LVL_IMPL, 0}, Copyright (C) 1996,97,98 Robert Dylina. ______________________________ __ _ _ |TDRD tdlord@elite.net |QuakeWorld TF2.7 PUBLIC: quake.elite.net ten.bigcity.net |Irc : irc.elite.net irc.lowrider.com |MUD : mud.elite.net 4000 HaqMUD |Clan Epidemic |Clan Infinity +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST