if (!str_cmp (arg2, "delete") // Lol, perm death?
|| !str_cmp (arg2, "mob") // Stops them from making pets use mob commands.
|| !str_cmp (arg2, "alias") // Has been known to fubar a char
|| !str_cmp (arg2, "unalias") // See alias
|| !str_cmp (arg2, "quest")
|| !str_cmp (arg2, "petition") // Joining clans
|| !str_cmp (arg2, "induct") // Forced induction if you charm a recruiter/leader
|| !str_cmp (arg2, "promote")// clan promotions
|| !str_cmp (arg2, "demote") // forced clan demotions
|| !str_cmp (arg2, "decline") // decline other players entry into clans
|| !str_cmp (arg2, "ooc") /* Charm is 100% in character so No OOC* DSL */
|| !str_cmp (arg2, "bank") /* Pure character rape* DSL */
|| !str_cmp (arg2, "discharge") // clan jumping
|| !str_cmp (arg2, "shop") // player shop robbery
)
{
send_to_char ("That will NOT be done.\r\n", ch);
return;
}
if ((is_name (arg2, "ooc") // Just lame ones, say no
|| is_name (arg2, "clan")
|| is_name (arg2, "buy")
|| is_name (arg2, "sell")
|| is_name (arg2, "pray")
|| is_name (arg2, "story")
|| is_name (arg2, "note")
|| is_name (arg2, "idea")
|| is_name (arg2, "warnote")
|| is_name (arg2, "description")
|| is_name (arg2, "quest")
|| is_name (arg2, "decline")
|| is_name (arg2, "nosummon")
|| is_name (arg2, "prompt")
|| is_name (arg2, "title")
|| is_name (arg2, "auction")
|| is_name (arg2, ".")
|| is_name (arg2, "\"")
|| is_name (arg2, "deaf")
|| is_name (arg2, "craps")
) && (!IS_NPC(och)))
{
act ("$N shakes $s head at $n but remains faithful.", ch, NULL, och, TO_NOTVICT);
act ("You shake your head at $n but you still like them.", ch, NULL, och, TO_VICT);
act ("$N shakes $s head at you but $s eyes seem to still worship you.", ch, NULL, och, TO_CHAR);
}
else if ((is_name (arg2, "delete") // Really lame ones, lose charm
|| is_name (arg2, "mob")
|| is_name (arg2, "alias")
|| is_name (arg2, "unalias")
|| is_name (arg2, "petition")
|| is_name (arg2, "induct")
|| is_name (arg2, "promote")
|| is_name (arg2, "demote")
|| is_name (arg2, "bank") /* Pure character rape* DSL */
|| is_name (arg2, "discharge")
|| is_name (arg2, "shop")
|| is_name (arg2, "practice")
|| is_name (arg2, "train")
|| is_name (arg2, "password")
|| is_name (arg2, "tithe")
|| is_name (arg2, "cast")
|| is_name (arg2, "sacrifice")
) && (!IS_NPC(och)))
{
affect_strip (och, gsn_charm_person);
REMOVE_BIT (och->affected_by, AFF_CHARM);
act ("$N shakes $s head at $n and $s eyes seem to clear.", ch, NULL, och, TO_NOTVICT);
act ("You shake your head at $n and defie the order as your mind clears!", ch, NULL, och, TO_VICT);
act ("$N shakes $s head at you and $s eyes seem to clear.", ch, NULL, och, TO_CHAR);
}
else
interpret (och, argument);
if ( IS_GHOST(ch) && cmd_table[cmd].ghost_cmd == false )
{
ch->send("Not while you're dead!\r\n");
return;
}
if ( IS_SET( ch->aff->AFF_CHARMED) ).
then show message that it won't happen
delete, alias, mclass (command for multiclassing), sacrifice.
What else would you add to prevent stupidity/cheating/etc..?