pennmush/game/
pennmush/game/data/
pennmush/game/log/
pennmush/game/save/
pennmush/game/txt/evt/
pennmush/game/txt/nws/
pennmush/os2/
/*-----------------------------------------------------------------
 * Local stuff
 *
 * This file contains custom stuff, and some of the items here are
 * called from within PennMUSH at specific times.
 */

/* Here are some includes you're likely to need or want.
 */
#include "copyrite.h"
#include "config.h"
#ifdef I_STRING
#include <string.h>
#else
#include <strings.h>
#endif
#include "externs.h"
#include "intrface.h"
#include "parse.h"
#include "htab.h"
#include "command.h"
#include "confmagic.h"

extern HASHTAB htab_reserved_aliases;
void reserve_aliases _((void));
void local_commands _((void));

/* Called during the command init sequence before any commands are
 * added (including local_commands, below). This is where you
 * want to reserve any strings that you *don't* want any command
 * to alias to (because you want to preserve it for matching exits
 * or globals)
 */
void
reserve_aliases()
{
  static char placeholder[2] = "x";
  /* Example: Don't alias any commands to cardinal directions.
   * Remove the #ifdef EXAMPLE and #endif to use this code
   */
#ifdef EXAMPLE
  hashadd("W", (void *) placeholder, &htab_reserved_aliases);
  hashadd("E", (void *) placeholder, &htab_reserved_aliases);
  hashadd("S", (void *) placeholder, &htab_reserved_aliases);
  hashadd("N", (void *) placeholder, &htab_reserved_aliases);
  hashadd("NE", (void *) placeholder, &htab_reserved_aliases);
  hashadd("SE", (void *) placeholder, &htab_reserved_aliases);
  hashadd("NW", (void *) placeholder, &htab_reserved_aliases);
  hashadd("SW", (void *) placeholder, &htab_reserved_aliases);
  hashadd("U", (void *) placeholder, &htab_reserved_aliases);
  hashadd("D", (void *) placeholder, &htab_reserved_aliases);
#endif
}

#ifdef EXAMPLE
COMMAND (cmd_local_silly) {
  if (SW_ISSET(sw, SWITCH_NOISY))
    notify(player, tprintf("Noisy silly with %s", arg_left));
  notify(player, tprintf("SillyCommand %s", arg_left));
}
#endif


/* Called during the command init sequence.
 * This is where you'd put calls to add_command to insert a local
 * command into the command hash table. Any command you add here
 * will be auto-aliased for you.
 */
void
local_commands()
{
#ifdef EXAMPLE
  command_add("@SILLY", CMD_T_ANY, 0, 0, 0, switchmask("NOISY NOEVAL"), cmd_local_silly);
#endif
}