/****************************************************************************
* [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