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