btmux/autom4te.cache/
btmux/doc/.svn/
btmux/event/.svn/
btmux/game/.svn/
btmux/game/bin/.svn/
btmux/game/data/.svn/
btmux/game/logs/.svn/
btmux/game/maps/
btmux/game/maps/.svn/
btmux/game/maps/.svn/prop-base/
btmux/game/maps/.svn/props/
btmux/game/maps/.svn/text-base/
btmux/game/maps/.svn/wcprops/
btmux/game/mechs/
btmux/game/mechs/.svn/
btmux/game/mechs/.svn/prop-base/
btmux/game/mechs/.svn/props/
btmux/game/mechs/.svn/text-base/
btmux/game/mechs/.svn/wcprops/
btmux/game/text/.svn/
btmux/include/.svn/
btmux/misc/
btmux/misc/.svn/
btmux/misc/.svn/prop-base/
btmux/misc/.svn/props/
btmux/misc/.svn/text-base/
btmux/misc/.svn/wcprops/
btmux/python/
btmux/python/.svn/
btmux/python/.svn/prop-base/
btmux/python/.svn/props/
btmux/python/.svn/text-base/
btmux/python/.svn/wcprops/
btmux/src/.svn/prop-base/
btmux/src/.svn/props/
btmux/src/.svn/text-base/
btmux/src/.svn/wcprops/
btmux/src/hcode/.svn/
btmux/src/hcode/btech/
btmux/src/hcode/btech/.svn/
btmux/src/hcode/btech/.svn/prop-base/
btmux/src/hcode/btech/.svn/props/
btmux/src/hcode/btech/.svn/text-base/
btmux/src/hcode/btech/.svn/wcprops/
btmux/src/hcode/include/.svn/
/*
 * $Id: btech.c,v 1.1.1.1 2005/01/11 21:18:02 kstevens Exp $
 *
 * Author: Markus Stenberg <fingon@iki.fi>
 *
 *  Copyright (c) 1996 Markus Stenberg
 *  Copyright (c) 1998-2002 Thomas Wouters
 *  Copyright (c) 2000-2002 Cord Awtry
 *       All rights reserved
 *
 * Created: Thu Sep 19 21:59:09 1996 fingon
 * Last modified: Tue Aug 12 19:39:55 1997 fingon
 *
 */

/*
   Local btech alike stuff for MUX.
   Work's based on MUSE's btechstats.c
 */

#include "interface.h"
#include "mech.h"
#include "create.h"
#include "btechstats_global.h"
#include "coolmenu.h"
#include "mycool.h"
#include "p.mech.utils.h"
#include "p.glue.scode.h"

extern HASHTAB playervaluehash;
extern HASHTAB playervaluehash2;

void list_hashstat(dbref player, const char *tab_name, HASHTAB * htab);

void list_fhashstats(dbref player)
{
#if 0
    int i;

    for (i = 0; factions[i].name; i++)
	if (factions[i].factnewshash)
	    list_hashstat(player, tprintf("FNews:%s", factions[i].key),
		factions[i].factnewshash);
#endif
    list_hashstat(player, "PValues", &playervaluehash);
    list_hashstat(player, "PValues(S)", &playervaluehash2);
}

#define IsHCO(ref) WizP(ref)

void do_show(dbref player, dbref cause, int key, char *arg1, char *arg2)
{
    int i;
    enum {
	CHAVA, CHVAL, CHSKI, CHADV, CHATT,
	MECHVALUES
    };
    char *cmds[] = { "allvalues",
	"values", "skills", "advantages",
	"attributes", "xcodevalues", NULL
    };
    char *cmds_help[] = { "[char_]allvalues", "[char_]values",
	"[char_]skills", "[char_]advantages", "[char_]attributes",
	"xcodevalues [scode]", NULL
    };
    char buf[MBUF_SIZE];

    DOCHECK(!IsHCO(player), "You aren't cleared to know this stuff yet!");

    if (!arg1 || !*arg1) {
	strcpy(buf, "Valid arguments:");
	for (i = 0; cmds_help[i]; i++)
	    sprintf(buf + strlen(buf), "%c %s", i > 0 ? ',' : ' ',
		cmds_help[i]);
	notify(player, buf);
	return;
    }
    i = listmatch(cmds, arg1);
    /* Do da cmd */
    switch (i) {
    case MECHVALUES:
	list_xcodevalues(player);
	return;
    case CHAVA:
	list_charvaluestuff(player, -1);
	return;
    case CHVAL:
	list_charvaluestuff(player, CHAR_VALUE);
	return;
    case CHSKI:
	list_charvaluestuff(player, CHAR_SKILL);
	return;
    case CHADV:
	list_charvaluestuff(player, CHAR_ADVANTAGE);
	return;
    case CHATT:
	list_charvaluestuff(player, CHAR_ATTRIBUTE);
	return;
    }
    notify(player, "Invalid arguments to +show command!");
    return;
}