25#include "common/scummsys.h"
26#include "common/array.h"
27#include "common/rect.h"
28#include "common/serializer.h"
29#include "mm/xeen/character.h"
30#include "mm/xeen/combat.h"
31#include "mm/xeen/dialogs/dialogs_message.h"
37 DIR_NORTH = 0, DIR_EAST = 1, DIR_SOUTH = 2, DIR_WEST = 3, DIR_ALL = 4
41 ADVENTURER = 0, WARRIOR = 1
45 CONS_GOLD = 0, CONS_GEMS = 1, CONS_FOOD = 2, CONS_CONDITION = 3
49 WHERE_PARTY = 0, WHERE_BANK = 1
52#define TOTAL_CHARACTERS 30
53#define XEEN_TOTAL_CHARACTERS 24
54#define MAX_ACTIVE_PARTY 6
55#define MAX_PARTY_COUNT 8
57#define TOTAL_QUEST_ITEMS 85
58#define TOTAL_QUEST_ITEMS_SWORDS 51
59#define TOTAL_QUEST_FLAGS 56
60#define MAX_TREASURE_ITEMS 10
74 XeenItem _accessories[MAX_TREASURE_ITEMS];
76 XeenItem _weapons[MAX_TREASURE_ITEMS];
87 return _categories[category];
104typedef XeenItem BlacksmithItems[2][4][INV_ITEMS_TOTAL];
111 uint getSlotIndex()
const;
114 BlacksmithItems _weapons;
115 BlacksmithItems _armor;
116 BlacksmithItems _accessories;
117 BlacksmithItems _misc;
169 const char *getFoundForm(
const Character &c);
174 void giveTreasureToCharacter(
Character &c, ItemCategory category,
int itemIndex);
184 void subPartyTime(
int time);
186 void resetYearlyBits();
191 void giveBankInterest();
194 Direction _mazeDirection;
200 bool _wizardEyeActive;
201 bool _clairvoyanceActive;
202 bool _walkOnWaterActive;
207 Difficulty _difficulty;
209 bool _cloudsCompleted;
210 bool _darkSideCompleted;
211 bool _worldCompleted;
220 int _electricityResistance;
222 int _poisonResistance;
232 bool _gameFlags[2][256];
233 bool _worldFlags[129];
234 bool _questFlags[60];
235 int _questItems[TOTAL_QUEST_ITEMS];
236 bool _characterFlags[30][32];
258 void loadActiveParty();
260 bool checkSkill(Skill skillId);
262 bool isInParty(
int charId);
275 void addTime(
int numMinutes);
281 int subtract(ConsumableType consumableId, uint amount, PartyBank whereId, MessageWaitType wait = WT_FREEZE_WAIT);
283 const char *getConsumableForm(ConsumableType consumableId);
285 void notEnough(ConsumableType consumableId, PartyBank whereId,
bool mode, MessageWaitType wait);
287 void checkPartyDead();
304 bool canShoot()
const;
309 bool giveTake(
int takeMode, uint takeVal,
int giveMode, uint giveVal,
int charIdx);
314 const char *getPickLockForm(
const Character &c);
319 const char *getUnablePickLockForm(
const Character &c);
324 bool giveExt(
int mode1, uint val1,
int mode2, uint val2,
int mode3, uint val3,
int charId);
Definition: serializer.h:80
void synchronize(Common::Serializer &s, int ccNum)
void blackData2CharData(Character &c)
BlacksmithWares()
Definition: party.h:122
BlacksmithItems & operator[](ItemCategory category)
void charData2BlackData(Character &c)
Definition: character.h:374
Definition: character.h:106
void changeTime(int numMinutes)
void synchronize(Common::Serializer &s)
bool giveTake(int takeMode, uint takeVal, int giveMode, uint giveVal, int charIdx)
bool giveExt(int mode1, uint val1, int mode2, uint val2, int mode3, uint val3, int charId)
void resetBlacksmithWares()
bool arePacksFull() const
XeenItem * operator[](int category)
Definition: party.h:86
Definition: detection.h:27