nonhumans separation
[k8-i-v-a-n.git] / src / game / command.h
blob1ac7f0540e6792af2602e41b45e139369f50269f
1 /*
3 * Iter Vehemens ad Necem (IVAN)
4 * Copyright (C) Timo Kiviluoto
5 * Released under the GNU General
6 * Public License
8 * See LICENSING which should be included
9 * along with this file for more details
12 #ifndef __COMMAND_H__
13 #define __COMMAND_H__
15 #include "ivandef.h"
18 typedef truth (item::*sorter) (ccharacter *) const;
20 class command {
21 public:
22 command (truth (*LinkedFunction)(character *), cchar *Description,
23 char Key1, char Key2, truth UsableInWilderness, truth WizardModeFunction=false);
24 truth (*GetLinkedFunction() const) (character *) { return LinkedFunction; }
25 cchar *GetDescription () const { return Description; }
26 char GetKey () const;
27 char GetKey1 () const { return Key1; }
28 char GetKey2 () const { return Key2; }
29 void SetKeys (char k1, char k2) { Key1 = k1; Key2 = k2; }
30 truth IsUsableInWilderness () const { return UsableInWilderness; }
31 truth IsWizardModeFunction () const { return WizardModeFunction; }
33 private:
34 truth (*LinkedFunction) (character *);
35 cchar *Description;
36 char Key1;
37 char Key2;
38 truth UsableInWilderness;
39 truth WizardModeFunction;
43 class commandsystem {
44 public:
45 static command *GetCommand (int I) { return Command[I]; }
46 /*k8:private:*/
47 static void ConfigureKeys ();
48 static void SaveKeys (truth forced=false);
49 static truth Apply (character *);
50 static truth Close (character *);
51 static truth Eat (character *);
52 static truth Drink (character *);
53 static truth Dip (character *);
54 static truth DrawMessageHistory (character *);
55 static truth Drop (character *);
56 static truth ForceVomit (character *);
57 static truth GoDown (character *);
58 static truth GoUp (character *);
59 static truth Kick (character *);
60 static truth Look (character *);
61 static truth NOP (character *);
62 static truth Offer (character *);
63 static truth Open (character *);
64 static truth PickUp (character *);
65 static truth Pray (character *);
66 static truth Quit (character *);
67 static truth Read (character *);
68 static truth Save (character *);
69 static truth ShowInventory (character *);
70 static truth ShowKeyLayout (character *);
71 static truth ShowWeaponSkills (character *);
72 static truth Talk (character *);
73 static truth Throw (character *);
74 static truth EquipmentScreen (character *);
75 static truth WhatToEngrave (character *);
76 static truth Zap (character *);
77 static truth Rest (character *);
78 static truth Sit (character *);
79 static truth Go (character *);
80 static truth ShowConfigScreen (character *);
81 static truth ScrollMessagesDown (character *);
82 static truth ScrollMessagesUp (character *);
83 static truth WieldInRightArm (character *);
84 static truth WieldInLeftArm (character *);
85 static truth AssignName (character *);
86 static truth Search (character *);
87 static truth Consume (character*, cchar*, sorter);
88 static truth Burn (character *);
89 static truth Dump (character *);
90 #ifdef WIZARD
91 static truth WizardMode (character *);
92 static truth RaiseStats (character *);
93 static truth LowerStats (character *);
94 static truth SeeWholeMap (character *);
95 static truth WalkThroughWalls (character *);
96 static truth RaiseGodRelations (character *);
97 static truth LowerGodRelations (character *);
98 static truth GainDivineKnowledge (character *);
99 static truth GainAllItems (character *);
100 static truth SecretKnowledge (character *);
101 static truth DetachBodyPart (character *);
102 static truth SummonMonster (character *);
103 static truth LevelTeleport (character *);
104 static truth Possess (character *);
105 static truth Polymorph (character *);
106 static truth GetScroll (character *);
107 static truth WizardWish (character *);
108 static truth OpenMondedr (character *);
109 static truth ShowCoords (character *);
110 static truth WizardHeal (character *);
111 #endif
112 static truth ToggleRunning (character *);
113 static truth IssueCommand (character *);
115 protected:
116 static command *Command[];
120 #endif