25 #include "common/scummsys.h" 26 #include "common/array.h" 27 #include "common/rect.h" 28 #include "common/serializer.h" 29 #include "xeen/character.h" 30 #include "xeen/combat.h" 31 #include "xeen/dialogs/dialogs_message.h" 36 DIR_NORTH = 0, DIR_EAST = 1, DIR_SOUTH = 2, DIR_WEST = 3, DIR_ALL = 4
39 enum Difficulty { ADVENTURER = 0, WARRIOR = 1 };
42 CONS_GOLD = 0, CONS_GEMS = 1, CONS_FOOD = 2, CONS_CONDITION = 3
46 WHERE_PARTY = 0, WHERE_BANK = 1
49 #define TOTAL_CHARACTERS 30 50 #define XEEN_TOTAL_CHARACTERS 24 51 #define MAX_ACTIVE_PARTY 6 52 #define MAX_PARTY_COUNT 8 54 #define TOTAL_QUEST_ITEMS 85 55 #define TOTAL_QUEST_ITEMS_SWORDS 51 56 #define TOTAL_QUEST_FLAGS 56 57 #define MAX_TREASURE_ITEMS 10 71 XeenItem _accessories[MAX_TREASURE_ITEMS];
73 XeenItem _weapons[MAX_TREASURE_ITEMS];
106 uint getSlotIndex()
const;
109 BlacksmithItems _weapons;
110 BlacksmithItems _armor;
111 BlacksmithItems _accessories;
112 BlacksmithItems _misc;
132 BlacksmithItems &
operator[](ItemCategory category);
162 const char *getFoundForm(
const Character &c);
167 void giveTreasureToCharacter(
Character &c, ItemCategory category,
int itemIndex);
177 void subPartyTime(
int time);
179 void resetYearlyBits();
184 void giveBankInterest();
187 Direction _mazeDirection;
193 bool _wizardEyeActive;
194 bool _clairvoyanceActive;
195 bool _walkOnWaterActive;
200 Difficulty _difficulty;
202 bool _cloudsCompleted;
203 bool _darkSideCompleted;
204 bool _worldCompleted;
213 int _electricityResistence;
215 int _poisonResistence;
225 bool _gameFlags[2][256];
226 bool _worldFlags[129];
227 bool _questFlags[60];
228 int _questItems[TOTAL_QUEST_ITEMS];
229 bool _characterFlags[30][32];
251 void loadActiveParty();
253 bool checkSkill(Skill skillId);
255 bool isInParty(
int charId);
260 void copyPartyToRoster();
266 void changeTime(
int numMinutes);
268 void addTime(
int numMinutes);
274 int subtract(ConsumableType consumableId, uint amount, PartyBank whereId, MessageWaitType wait = WT_FREEZE_WAIT);
276 const char *getConsumableForm(ConsumableType consumableId);
278 void notEnough(ConsumableType consumableId, PartyBank whereId,
bool mode, MessageWaitType wait);
280 void checkPartyDead();
285 void moveToRunLocation();
295 bool arePacksFull()
const;
297 bool canShoot()
const;
302 bool giveTake(
int takeMode, uint takeVal,
int giveMode, uint giveVal,
int charIdx);
307 const char *getPickLockForm(
const Character &c);
312 const char *getUnablePickLockForm(
const Character &c);
317 bool giveExt(
int mode1, uint val1,
int mode2, uint val2,
int mode3, uint val3,
int charId);
322 void resetBlacksmithWares();
void clear()
Definition: array.h:277
Character & operator[](size_type idx)
Definition: array.h:230
Definition: character.h:365
XeenItem BlacksmithItems[2][4][INV_ITEMS_TOTAL]
Definition: party.h:99
Definition: serializer.h:79
BlacksmithWares()
Definition: party.h:117
XeenItem * operator[](int category)
Definition: party.h:83
Definition: character.h:101
Definition: character.h:33