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 Mob Menu Interface file									*
 ****************************************************************************/

#ifndef	MOBMENU_H
#define	MOBMENU_H

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


class CMobMenu : public CSmaugMenu {
public:
				CMobMenu (CCharacter& Victim);

	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; }
	void			SetMobRisString (char* str, int bit);
	void			SetMobRisFlag (char* ris, int bit);
	int				GetMobRace ();
	SPEC_FUN*		GetSelectedSpecFun ();

	CCharacter	*m_pMob;

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

	int		ma_Level;
	int		ma_Sex;
	int		ma_Gold;
	int		ma_Align;
	int		ma_InvLevel;
	int		ma_PermStr;
	int		ma_PermInt;
	int		ma_PermWis;
	int		ma_PermDex;
	int		ma_PermCon;
	int		ma_PermCha;
	int		ma_Ac;

	BOOL	ma_Mage;
	BOOL	ma_Cleric;
	BOOL	ma_Thief;
	BOOL	ma_Warrior;
	BOOL	ma_Vampire;
	BOOL	ma_Druid;
	BOOL	ma_Ranger;
	BOOL	ma_Augurer;
	BOOL	ma_Baker;
	BOOL	ma_Butcher;
	BOOL	ma_BlackSmith;
	BOOL	ma_Mayor;
	BOOL	ma_King;
	BOOL	ma_Queen;

	// B Menu page items
	BOOL	mb_Sentinel;
	BOOL	mb_Scavenger;
	BOOL	mb_Aggro;
	BOOL	mb_StayArea;
	BOOL	mb_Wimpy;
	BOOL	mb_Pet;
	BOOL	mb_Train;
	BOOL	mb_Practice;
	BOOL	mb_Immortal;
	BOOL	mb_Deadly;
	BOOL	mb_PolySelf;
	BOOL	mb_MetaAggro;
	BOOL	mb_Guardian;
	BOOL	mb_Running;
	BOOL	mb_NoWander;
	BOOL	mb_Mountable;
	BOOL	mb_Mounted;
	BOOL	mb_Scholar;
	BOOL	mb_Secretive;
	BOOL	mb_Polymorphed;
	BOOL	mb_MobInvis;
	BOOL	mb_NoAssist;

	BOOL	mb_Blind;
	BOOL	mb_DetInv;
	BOOL	mb_DetEvil;
	BOOL	mb_DetMagic;
	BOOL	mb_DetHidden;
	BOOL	mb_AHold;
	BOOL	mb_ASanct;
	BOOL	mb_AFaerieFire;
	BOOL	mb_AInfra;
	BOOL	mb_ACurse;
	BOOL	mb_AFlaming;
	BOOL	mb_APoison;
	BOOL	mb_AProtect;
	BOOL	mb_AParalysis;
	BOOL	mb_ASleep;
	BOOL	mb_AHide;
	BOOL	mb_ASneak;
	BOOL	mb_ACharm;
	BOOL	mb_AFly;
	BOOL	mb_APass;
	BOOL	mb_ATrueSight;
	BOOL	mb_ADetTrap;
	BOOL	mb_AScry;
	BOOL	mb_AFireShield;
	BOOL	mb_AShockShield;
	BOOL	mb_AFloat;
	BOOL	mb_AInv;

	// C Menu page items
	BOOL	mc_Bite;
	BOOL	mc_Claws;
	BOOL	mc_FireBreath;
	BOOL	mc_Bash;
	BOOL	mc_Stun;
	BOOL	mc_AcidBreath;
	BOOL	mc_Drain;
	BOOL	mc_Kick;
	BOOL	mc_Feed;
	BOOL	mc_GasBreath;
	BOOL	mc_Poison;
	BOOL	mc_Gaze;
	BOOL	mc_Harm;
	BOOL	mc_FrostBreath;
	BOOL	mc_Curse;
	BOOL	mc_BackStab;
	BOOL	mc_Punch;
	BOOL	mc_LightningBreath;
	BOOL	mc_Weaken;
	BOOL	mc_Tail;
	BOOL	mc_Sting;
	BOOL	mc_CSerious;
	BOOL	mc_Trip;
	BOOL	mc_FireBall;
	BOOL	mc_Gouge;
	BOOL	mc_CCritical;
	BOOL	mc_FlameStrike;
	BOOL	mc_EarthQuake;
	BOOL	mc_ColorSpray;
	BOOL	mc_NPoison;
	BOOL	mc_Blind;

	BOOL	mc_Sanct;
	BOOL	mc_CureLight;
	BOOL	mc_DDispelEvil;
	BOOL	mc_DShield;
	BOOL	mc_DCureSerious;
	BOOL	mc_DDispelMagic;
	BOOL	mc_DDodge;
	BOOL	mc_DFireShield;
	BOOL	mc_DCureCritical;
	BOOL	mc_DTeleport;
	BOOL	mc_DParry;
	BOOL	mc_DShockShield;
	BOOL	mc_DHeal;
	BOOL	mc_DBless;
	BOOL	mc_DDisarm;
	BOOL	mc_DStoneSkin;
	BOOL	mc_DMonsum1;
	BOOL	mc_DMonsum2;
	BOOL	mc_DMonsum3;
	BOOL	mc_DMonsum4;

	// D Menu page items
	int		md_SavPoisonDeath;
	int		md_SavWand;
	int		md_SavParaPetri;
	int		md_SavBreath;
	int		md_SavSpellStaff;

	BOOL	md_Fins;
	BOOL	md_Ear;
	BOOL	md_Eye;
	BOOL	md_Tounge;
	BOOL	md_Scales;
	BOOL	md_Tail;
	BOOL	md_Arms;
	BOOL	md_Legs;
	BOOL	md_Tentacles;
	BOOL	md_Brains;
	BOOL	md_Guts;
	BOOL	md_Head;
	BOOL	md_Feet;
	BOOL	md_EyeStalks;
	BOOL	md_Fingers;
	BOOL	md_Wings;
	BOOL	md_Hands;
	BOOL	md_Heart;
	BOOL	md_Claws;
	BOOL	md_Horns;
	BOOL	md_Tusks;
	BOOL	md_TailAttack;
	BOOL	md_SharpScales;

	int		md_NumAttacks;
	int		md_HitRoll;
	int		md_DamRoll;
	int		md_Hnodice;
	int		md_Hsizedice;
	int		md_Hplus;
	int		md_Dnodice;
	int		md_Dsizedice;
	int		md_Dplus;

	// E Menu page items
	BOOL	me_SFido;
	BOOL	me_SAdept;
	BOOL	me_SFireBreath;
	BOOL	me_SGuard;
	BOOL	me_SCleric;
	BOOL	me_SFrostBreath;
	BOOL	me_SJanitor;
	BOOL	me_SMage;
	BOOL	me_SAcidBreath;
	BOOL	me_SThief;
	BOOL	me_SUndead;
	BOOL	me_SGasBreath;
	BOOL	me_SMayor;
	BOOL	me_SLightningBreath;
	BOOL	me_SPoison;
	BOOL	me_SExecutioner;
	BOOL	me_SAnyBreath;

	int		me_Position;

	char	me_RFire [4];
	char	me_RCold [4];
	char	me_RElect [4];
	char	me_REnergy [4];
	char	me_RPoison [4];
	char	me_RBlunt [4];
	char	me_RPierce [4];
	char	me_RSlash [4];
	char	me_RAcid [4];
	char	me_RNonMagic [4];
	char	me_RDrain [4];
	char	me_RSleep [4];
	char	me_RCharm [4];
	char	me_RHold [4];
	char	me_RMagic [4];
	char	me_RPlus1 [4];
	char	me_RPlus2 [4];
	char	me_RPlus3 [4];
	char	me_RPlus4 [4];
	char	me_RPlus5 [4];
	char	me_RPlus6 [4];

	// F Menu page items
	BOOL	mf_Human;
	BOOL	mf_Neand;
	BOOL	mf_Avis;
	BOOL	mf_Amph;
	BOOL	mf_Elf;
	BOOL	mf_Orc;
	BOOL	mf_BugBear;
	BOOL	mf_Bovine;

	BOOL	mf_Dwarf;
	BOOL	mf_Skeleton;
	BOOL	mf_Dragon;
	BOOL	mf_Canine;

	BOOL	mf_Ant;
	BOOL	mf_Halfling;
	BOOL	mf_Thoul;
	BOOL	mf_Rust;
	BOOL	mf_Crust;
	BOOL	mf_Bee;
	BOOL	mf_Pixie;
	BOOL	mf_Undead;
	BOOL	mf_Shadow;
	BOOL	mf_Feline;
	BOOL	mf_Beetle;
	BOOL	mf_Vampire;
	BOOL	mf_Zombie;
	BOOL	mf_ShapeShifter;
	BOOL	mf_Fish;
	BOOL	mf_Fly;
	BOOL	mf_Gargolye;
	BOOL	mf_Ape;
	BOOL	mf_Shrieker;
	BOOL	mf_Insect;
	BOOL	mf_Locust;
	BOOL	mf_Ghoul;
	BOOL	mf_Baboon;
	BOOL	mf_Stirge;
	BOOL	mf_Mammal;
	BOOL	mf_Snake;
	BOOL	mf_Gnoll;
	BOOL	mf_Bat;
	BOOL	mf_Wight;
	BOOL	mf_Porcine;
	BOOL	mf_Spider;
	BOOL	mf_Gnome;
	BOOL	mf_Bear;
	BOOL	mf_Reptile;
	BOOL	mf_Worm;
	BOOL	mf_Goblin;
	BOOL	mf_Boar;
	BOOL	mf_Rodent;
	BOOL	mf_Golem;
	BOOL	mf_Cat;
	BOOL	mf_Trog;
	BOOL	mf_Gel;
	BOOL	mf_Gorgon;
	BOOL	mf_Dog;
	BOOL	mf_Spirit;
	BOOL	mf_Mold;
	BOOL	mf_Harpy;
	BOOL	mf_Ferret;
	BOOL	mf_Magical;
	BOOL	mf_Ooze;
	BOOL	mf_HobGob;
	BOOL	mf_Horse;
	BOOL	mf_Slime;
	BOOL	mf_Kobold;
	BOOL	mf_Mule;
	BOOL	mf_LizardMan;
	BOOL	mf_Rat;
	BOOL	mf_Lycan;
	BOOL	mf_Shrew;
	BOOL	mf_Minotaur;
	BOOL	mf_Wolf;
};


#ifdef	MOBMENU_CPP

char *MobMenus [] = {
".----------[Mob Page A]-------------------------------------------------------.\r\n"
"|[1]TEXT|  a]Name :                                                           |\r\n"
"|-------'  b]Short:                                                           |\r\n"
"|c]Long:                                                                      |\r\n"
"|d]Desc:                                                                      |\r\n"
":---------------------+-------------------------------------------------------'\r\n"
"|[2]ATTRIBUTES |      |[3]STATS |   |[4]CLASS |                        |\r\n"
"|--------------'      |---------'   |---------'                        |\r\n"
"| a]Level:            | a]Str:      | a]Mage   ( )    h]Cleric    ( )  |\r\n"
"| b]Sex  :            | b]Int:      | b]Thief  ( )    i]Warrior   ( )  |\r\n"
"| c]Gold :            | c]Wis:      | c]Vampire( )    j]Druid     ( )  |\r\n"
"| d]Align:            | d]Dex:      | d]Ranger ( )    k]Baker     ( )  |\r\n"
"| e]MobInvLevel:      | e]Con:      | e]Butcher( )    l]Blacksmith( )  |\r\n"
"|                     | f]Cha:      | f]Mayor  ( )    m]King      ( )  |\r\n"
"|                     | g]AC :      | g]Queen  ( )    n]Augurer   ( )  |\r\n"
":---------------------+-------------+----------------------------------'\r\n"
,

".----------[Mob Page B]-------------------------------------------.\r\n"
"|[1]ACT FLAGS| e]Sentinel  ( )  k]Scavenger  ( )  q]Aggressiv( )  |\r\n"
"|------------' f]StayArea  ( )  l]Wimpy      ( )  r]Pet      ( )  |\r\n"
"|a]Train  ( )  g]Practice  ( )  m]Immortal   ( )  s]Deadly   ( )  |\r\n"
"|b]PolySlf( )  h]MetaAggres( )  n]Guardian   ( )  t]Running  ( )  |\r\n"
"|c]NoWandr( )  i]Mountable ( )  o]Mounted    ( )  u]Scholar  ( )  |\r\n"
"|d]Secretiv( ) j]PolyMorph ( )  p]MobInvis   ( )  v]NoAssist ( )  |\r\n"
":-----------------------------------------------------------------:\r\n"
"|[2]AFF FLAGS| g]Blind     ( )  n]DetInvis   ( )  u]DetEvil  ( )  |\r\n"
"|------------' h]DetMag    ( )  o]DetHiddn   ( )  v]Hold     ( )  |\r\n"
"|a]Sanct  ( )  i]Faerie    ( )  p]InfraRed   ( )  w]Cursed   ( )  |\r\n"
"|b]Flaming( )  j]Poison    ( )  q]Protect    ( )  x]Paralysis( )  |\r\n"
"|c]Sleep  ( )  k]Hide      ( )  r]Sneak      ( )  y]Charm    ( )  |\r\n"
"|d]Flying ( )  l]PassDoor  ( )  s]TrueSight  ( )  z]DetTraps ( )  |\r\n"
"|e]Scrying( )  m]FireShield( )  t]ShockShield( )  A]Floating ( )  |\r\n"
"|f]Invisib( )                                                     |\r\n"
"`-----------------------------------------------------------------'\r\n"
,

".----------.-----[Mob Page C]-------------------------------------------.\r\n"
"|[1]ATTACKS|  g]bash     ( )       p]claws ( )      w]firebreath   ( )  |\r\n"
"|----------'  h]kick     ( )       q]stun  ( )      x]acidBreath   ( )  |\r\n"
"|             i]gaze     ( )       r]feed  ( )      y]gasBreath    ( )  |\r\n"
"|a]drain ( )  J]tail     ( )       s]harm  ( )      z]frostBreath  ( )  |\r\n"
"|b]poison( )  k]backstab ( )       t]punch ( )      A]lightBreath  ( )  |\r\n"
"|c]curse ( )  l]fireBall ( )       u]sting ( )      B]causeSerious ( )  |\r\n"
"|d]weaken( )  m]flameStrike ( )    v]goose ( )      C]causeCritica ( )  |\r\n"
"|e]trip  ( )  n]colorSpray  ( )                     D]earthQuake   ( )  |\r\n"
"|f]bite  ( )  o]nastyPoison ( )                     E]blindness    ( )  |\r\n"
"|-----------.-----------------------------------------------------------|\r\n"
"|[2]DEFENSES|   d]sanctuary  ( )   i]cureLight   ( )   o]dispelEvil ( ) |\r\n"
"|-----------'   e]shield     ( )   j]cureSerious ( )   p]dispelMagic( ) |\r\n"
"|a]dodge ( )    f]fireShield ( )   k]cureCritical( )   q]teleport   ( ) |\r\n"
"|b]parry ( )    g]shockShield( )   l]heal        ( )   r]bless      ( ) |\r\n"
"|c]disarm( )    h]stoneSkin  ( )   m]mobSummon1  ( )   s]mobSummon3 ( ) |\r\n"
"|                                  n]mobSummon2  ( )   t]mobSummon4 ( ) |\r\n"
"'-----------------------------------------------------------------------'\r\n"
,

".----------------.--[Mob Page D]-----------------------------------------.\r\n"
"|[1]SAVING THROWS| a]Poison/Death     %   d]Paralysis/Petrify    %       |\r\n"
"|----------------' b]Wand             %   e]Breath               %       |\r\n"
"|                  c]Spell/Staff      %                                  |\r\n"
":------------------------------------------------------------------------.\r\n"
"|[2]BODY  | a]Fins( )  g]Ear ( )  l]Eye ( )  r]LongTongue( ) u]Scales ( )|\r\n"
"|   PARTS | b]Tail( )  h]Arms( )  m]Legs( )  s]Tentacles ( ) v]Brains ( )|\r\n"
"|---------' c]Guts( )  i]Head( )  n]Feet( )  t]EyeStalks ( ) w]Fingers( )|\r\n"
"|           d]Wings( ) j]Hands( ) o]Heart( )                             |\r\n"
"|ATTACKING: e]Claws( ) k]Horns( ) p]Tusks( )                             |\r\n"
"|           f]TailAttack( )       q]SharpScales( )                       |\r\n"
":---------.--------------------------------------------------------------:\r\n"
"|[3]FIGHT |  a]Attacks:  [   ]   d,e,f]HitDice:[     ]D[     ]+[     ]   |\r\n"
"|   STATS |  b]HitRoll:[     ]                                           |\r\n"
"|---------'  c]DamRoll:[     ]   g,h,i]DamDice:[     ]D[     ]+[     ]   |\r\n"
"`------------------------------------------------------------------------'\r\n"
,

".---------.-----[Mob Page E]--------------------------------------------.\r\n"
"|[1]SPEC'L| a]fido   ( )    g]castAdept ( )        l]breathFire     ( ) |\r\n"
"|   FUNCTS| b]guard  ( )    h]castCleric( )        m]breathFrost    ( ) |\r\n"
"|---------' c]janitor( )    i]castMage  ( )        n]breathAcid     ( ) |\r\n"
"|           d]thief  ( )    j]castUndead( )        o]breathGas      ( ) |\r\n"
"|           e]mayor  ( )                           p]breathLightning( ) |\r\n"
"|           f]poison ( )    k]executionr( )        q]breathAny      ( ) |\r\n"
":-----------.-----------------------------------------------------------:\r\n"
"|[2]DEFAULT |   b]Mortally      ( )   g]Resting    ( )   l]Evasive  ( ) |\r\n"
"|   POSITION|   c]Incapacitated ( )   h]Aggressive ( )   m]Standing ( ) |\r\n"
"|-----------'   d]Stunned       ( )   i]Sitting    ( )   n]Mounted  ( ) |\r\n"
"|               e]Sleeping      ( )   j]Fighting   ( )   o]Shove    ( ) |\r\n"
"|a]Dead ( )     f]Beserk        ( )   k]Defensive  ( )   p]Drag     ( ) |\r\n"
"|--------.-----------------------------------------------------------------.\r\n"
"|[3]RIS  |  b]cold  ...  f]blunt ...  j]nonMag...  n]hold  ...  r]plus3 ...|\r\n"
"|PROFILE |  c]elect ...  g]pierce...  k]drain ...  o]magic ...  s]plus4 ...|\r\n"
"|--------'  d]energ ...  h]slash ...  l]sleep ...  p]plus1 ...  t]plus5 ...|\r\n"
"|a]fire ... e]poison...  i]acid  ...  m]charm ...  q]plus2 ...  u]plus6 ...|\r\n"
"'--------------------------------------------------------------------------'\r\n"
,

".---------.--[Mob Page F]-------------------------------------------------.\r\n"
"|[1]      |   i]Human    ( )  t]Neandrtl( )  E]Avis    ( )  P]Amphib  ( ) |\r\n"
"|   RACE  |   j]Elf      ( )  u]Orc     ( )  F]Bugbear ( )  Q]Bovine  ( ) |\r\n"
"|---------'   k]Dwarf    ( )  v]Skeleton( )  G]Dragon  ( )  R]Canine  ( ) |\r\n"
"|a]Ant    ( ) l]Halfling ( )  w]Thoul   ( )  H]RustMnst( )  S]Crustacn( ) |\r\n"
"|b]Bee    ( ) m]Pixie    ( )  x]Undead  ( )  I]Shadow  ( )  T]Feline  ( ) |\r\n"
"|c]Beetle ( ) n]Vampire  ( )  y]Zombie  ( )  J]ShapShft( )  U]Fish    ( ) |\r\n"
"|d]Fly    ( ) o]Gargoyle ( )  z]Ape     ( )  K]Shrieker( )  V]Insect  ( ) |\r\n"
"|e]Locust ( ) p]Ghoul    ( )  A]Baboon  ( )  L]Stirge  ( )  W]Mammal  ( ) |\r\n"
"|f]Snake  ( ) q]Gnoll    ( )  B]Bat     ( )  M]Wight   ( )  X]Porcine ( ) |\r\n"
"|g]Spider ( ) r]Gnome    ( )  C]Bear    ( )  N]Spirit  ( )  Y]Reptile ( ) |\r\n"
"|h]Worm   ( ) s]Goblin   ( )  D]Boar    ( )  O]Rodent  ( )  Z]Trogldte( ) |\r\n"
"|                                                                         |\r\n"
"|1]Golem  ( ) 6]Rat      ( )  $]Ferret  ( )  *]Mold   ( )  %]Magical  ( ) |\r\n"
"|2]Cat    ( ) 7]Gorgon   ( )  ~]Kobold  ( )  +]Ooze   ( )  _]Slime    ( ) |\r\n"
"|3]Dog    ( ) 8]Harpy    ( )  &]Gelatin ( )  :]Mule   ( )  #]Minotaur ( ) |\r\n"
"|4]Horse  ( ) 9]Hobgoblin( )                 ^]Shrew  ( )  !]Lizardman( ) |\r\n"
"|5]Wolf   ( )                                              @]Lycanthrp( ) |\r\n"
"`-------------------------(Only Select One Item)--------------------------'\r\n"
,

".------------[Mmenu 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   | Strings, Attrs, Stats, Class  | s i: Toggle Checked items   |\r\n"
"|  b   | Act & Affected                |                             |\r\n"
"|  c   | Attacks & Defenses            | s i [r,i,s]: Toggle RIS     |\r\n"
"|  d   | Saves, Bodyparts, Fight stats |                             |\r\n"
"|  e   | Specials, Position, and RIS   | s i arg: Change numbers     |\r\n"
"|  f   | Race                          |          and Strings        |\r\n"
"|  h   | Help                          |                             |\r\n"
"|--------------------------------------| Quitmenu: Abort Menu        |\r\n"
"| Also see 'help mmenu'.               | Savemenu: Save & quit Menu  |\r\n"
"`--------------------------------------------------------------------'\r\n"
};
#endif

#endif