SmaugWizard/Backup/
SmaugWizard/Backup/L/
SmaugWizard/Boards/
SmaugWizard/Building/
SmaugWizard/Corpses/
SmaugWizard/Councils/
SmaugWizard/Deity/
SmaugWizard/Gods/
SmaugWizard/MudProgs/
SmaugWizard/Player/L/
SmaugWizard/Src/
SmaugWizard/Src/res/
/****************************************************************************
 * [S]imulated [M]edieval [A]dventure multi[U]ser [G]ame      |				*
 * -----------------------------------------------------------|   \\._.//	*
 * SmaugWiz (C) 1998 by Russ Pillsbury (Windows NT version)   |   (0...0)	*
 * -----------------------------------------------------------|    ).:.(	*
 * SMAUG (C) 1994, 1995, 1996 by Derek Snider                 |    {o o}	*
 * -----------------------------------------------------------|   / ' ' \	*
 * SMAUG code team: Thoric, Altrag, Blodkai, Narn, Haus,      |~'~.VxvxV.~'~*
 * Scryn, Swordbearer, Rennard, Tricops, and Gorog.           |				*
 * ------------------------------------------------------------------------ *
 * Merc 2.1 Diku Mud improvments copyright (C) 1992, 1993 by Michael        *
 * Chastain, Michael Quan, and Mitchell Tse.                                *
 * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,          *
 * Michael Seifert, Hans Henrik Staerfeldt, Tom Madsen, and Katja Nyboe.    *
 * ------------------------------------------------------------------------ *
 *			    Smaug Menus Interface file									*
 ****************************************************************************/

#ifndef	ROOMMENU_H
#define	ROOMMENU_H

#ifndef	MENUS_H
	#include	"menus.h"
#endif


class CXMenuData {
public:
			CXMenuData (CRoomIndexData& Idx, dir_types dir);
	void	Unload (CRoomIndexData& Idx, dir_types dir);

	BOOL	IsEmpty ();

	BOOL	m_Door;
	BOOL	m_Closed;
	BOOL	m_Locked;
	BOOL	m_Hidden;
	BOOL	m_Secret;
	BOOL	m_Disabled;
	BOOL	m_PickProof;
	BOOL	m_NoPass;
	BOOL	m_CanClimb;
	BOOL	m_Fly;
	BOOL	m_Climb;
	BOOL	m_Dig;
	BOOL	m_Auto;
	BOOL	m_CanEnter;
	BOOL	m_CanLeave;
	BOOL	m_CanSearch;
	BOOL	m_IsWindow;
	BOOL	m_CanLook;
	BOOL	m_NoBash;
	BOOL	m_NoMob;
	int		m_Vnum;
	int		m_KeyVnum;
	CString	m_RoomName;
	CString	m_KeyName;
	CString	m_Desc;
	CString	m_KeyWords [8];
};


class CRoomMenu : public CSmaugMenu {
public:
					CRoomMenu (CRoomIndexData& Obj);
					~CRoomMenu ();

	void			Display (CCharacter& Ch, int page);
	void			Display (CCharacter& Ch, char page)
					{ Display (Ch, page - 'a'); }
	void			DisplayData (CCharacter& Ch);
	BOOL			Edit (CCharacter& Ch, char* arg, const char* cmd);
	void			Save (CCharacter& Ch);
	const CString&	GetName () { return ma_Name; }
	char			*SetExit (char* arg);

	CRoomIndexData	*m_pIdx;

	int		m_CurrExit;		// exit direction currently selected

	// A Menu page items
	CString	ma_Name;
	CString	ma_Desc;

	// B Menu page items
	BOOL	mb_Dark;
	BOOL	mb_Death;
	BOOL	mb_NoMob;
	BOOL	mb_Indoors;
	BOOL	mb_Lawful;
	BOOL	mb_NoMagic;
	BOOL	mb_PetShop;
	BOOL	mb_Neutral;
	BOOL	mb_NoDrop;
	BOOL	mb_Safe;
	BOOL	mb_Chaotic;
	BOOL	mb_NoDropAll;
	BOOL	mb_Teleport;
	BOOL	mb_Donation;
	BOOL	mb_NoRecall;
	BOOL	mb_Private;
	BOOL	mb_Solitary;
	BOOL	mb_NoAstral;
	BOOL	mb_Tunnel;
	BOOL	mb_Silent;
	BOOL	mb_NoSummon;
	BOOL	mb_ClanStore;
	BOOL	mb_LogSpeech;
	BOOL	mb_NoFloor;

	int		mb_SectorType;

	// C Menu page items
	CXMenuData	*mc_pExits [DIR_SOMEWHERE + 1];
	BOOL		mc_Direction [DIR_SOMEWHERE + 1];
};


#ifdef	ROOMMENU_CPP

char *RoomMenus [] = {
".---------.--[Rmenu Page A]-------------------------------------------------.\r\n"
"||[1]TEXT|                                                                  |\r\n"
"|--------'                                                                  |\r\n"
"|a]Name:                                                                    |\r\n"
"|                                                                           |\r\n"
"|b]Description:                                                             |\r\n"
"|                                                                           |\r\n"
"|                                                                           |\r\n"
"|                                                                           |\r\n"
"|                                                                           |\r\n"
"|                                                                           |\r\n"
"|                                                                           |\r\n"
":---------------------------------------------------------------------------'\r\n"
,

".---------.--[Rmenu Page B]------------------------------------.\r\n"
"|[1]ROOM  | a]Dark      ( )  i]Death    ( )    q]NoMobs   ( )  |\r\n"
"|   FLAGS | b]Indoors   ( )  j]Lawful   ( )    r]NoMagic  ( )  |\r\n"
"|---------' c]PetShop   ( )  k]Neutral  ( )    s]NoDrop   ( )  |\r\n"
"|           d]Safe      ( )  l]Chaotic  ( )    t]NoDropAll( )  |\r\n"
"|           e]Teleport  ( )  m]Donation ( )    u]NoRecall ( )  |\r\n"
"|           f]Private   ( )  n]Solitary ( )    v]NoAstral ( )  |\r\n"
"|           g]Tunnel    ( )  o]Silence  ( )    w]NoSummon ( )  |\r\n"
"|           h]ClanStorge( )  p]LogSpeech( )    x]NoFloor  ( )  |\r\n"
":--------------------------------------------------------------+-.\r\n"
"|[2]SECTOR | a]Inside ( )  f]Mountain     ( )  j]Air    ( )      |\r\n"
"|   TYPE   | b]City   ( )  g]Water_Swim   ( )  k]desert ( )      |\r\n"
"|----------' c]Field  ( )  h]Water_NoSwim ( )  l]Dunno  ( )      |\r\n"
"|            d]Forest ( )  i]UnderWater   ( )  m]OceanFloor  ( ) |\r\n"
"|            e]Hills  ( )                      n]UnderGround ( ) |\r\n"
"`----------------------------------------------------------------'\r\n"
,

".----------.-[Rmenu Page C]----------------------------------------------.\r\n"
"|EXIT      | N  ( )   S  ( )   E  ( )   W  ( )   U ( )   D ( )           |\r\n"
"|DIRECTION | NE ( )   NW ( )   SE ( )   SW ( )   SOmewhere ( )           |\r\n"
"|------------------------------------------------------------------------|\r\n"
"|[1] EXIT  | a]IsDoor ( )  f]Disabled ( )  k]fly   ( )  p]CanEnter  ( )  |\r\n"
"|    FLAGS | b]Closed ( )  g]PickProof( )  l]climb ( )  q]CanLeave  ( )  |\r\n"
"|----------' c]Locked ( )  h]PassProof( )  m]dig   ( )  r]CanSearch ( )  |\r\n"
"|            d]Hidden ( )  i]CanClimb ( )  n]Auto  ( )  s]IsWindow  ( )  |\r\n"
"|            e]Secret ( )  j]CanLook  ( )  o]NoMob ( )  t]NoBash    ( )  |\r\n"
"|------------------------------------------------------------------------|\r\n"
"|[2] EXIT TO |                              KeyWords:                    |\r\n"
"|------------'                               d:            h:            |\r\n"
"|a]To Room [       ] [                   ]   e:            i:            |\r\n"
"|b]    Key [       ] [                   ]   f:            j:            |\r\n"
"|c]:ExitDescr:                               g:            k:            |\r\n"
"|                                                                        |\r\n"
"|------------------------------------------------------------------------|\r\n"
"|To Change Exit use: '-DIR' (DIR = N, S, E, W, U, D, NE, NW, SE, SW, SO) |\r\n"
"`------------------------------------------------------------------------'\r\n"
,

".------------[Rmenu Help Page]--------------------------------------.\r\n"
"|    Page Contents                    |        COMMANDS.            |\r\n"
"|                                     |   (s=Section#, i=id)        |\r\n"
"|                                     |   ------------------        |\r\n"
"| PAGE     CONTENTS                   | -a thru -h: Select Page     |\r\n"
"|------|------------------------------|                             |\r\n"
"|  a   | Name & Description           | s i: Toggle Checked items   |\r\n"
"|  b   | Room flags & Sector type     |                             |\r\n"
"|  c   | Exits                        | s i arg: Change numbers     |\r\n"
"|  h   | Help                         |          and Strings        |\r\n"
"|-------------------------------------| Quitmenu: Abort Menu        |\r\n"
"| Also see 'help rmenu'.              | Savemenu: Save & quit Menu  |\r\n"
"`-------------------------------------------------------------------'\r\n"
};
#endif

#endif