Mercurial > mm7
annotate Player.h @ 1544:499761153844
stru149
author | Nomad |
---|---|
date | Sat, 07 Sep 2013 15:20:57 +0200 |
parents | fed56133bf8a |
children | cdb7fafede0c |
rev | line source |
---|---|
0 | 1 #pragma once |
2 #include "Items.h" | |
3 #include "Spells.h" | |
1361
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
4 #include "Conditions.h" |
0 | 5 |
6 | |
7 | |
8 | |
488 | 9 #define PLAYER_BUFF_BLESS 1 |
10 #define PLAYER_BUFF_FATE 4 | |
11 #define PLAYER_BUFF_HAMMERHANDS 6 | |
816 | 12 #define PLAYER_BUFF_7 7 |
1523
53265d238d94
interaction_distance_limit for 3DModel in DrawStatusText
Ritor1
parents:
1460
diff
changeset
|
13 #define PLAYER_BUFF_8 8 |
488 | 14 #define PLAYER_BUFF_PAIN_REFLECTION 10 |
15 #define PLAYER_BUFF_PRESERVATION 11 | |
16 #define PLAYER_BUFF_REGENERATION 12 | |
1523
53265d238d94
interaction_distance_limit for 3DModel in DrawStatusText
Ritor1
parents:
1460
diff
changeset
|
17 #define PLAYER_BUFF_13 13 |
53265d238d94
interaction_distance_limit for 3DModel in DrawStatusText
Ritor1
parents:
1460
diff
changeset
|
18 #define PLAYER_BUFF_14 14 |
187 | 19 |
20 | |
949 | 21 #define PLAYER_GUILD_BITS__SPIRIT_MEMBERSHIP 58 |
22 #define PLAYER_GUILD_BITS__ARCOMAGE_WIN 103 | |
23 #define PLAYER_GUILD_BITS__ARCOMAGE_LOSE 104 | |
735 | 24 |
25 | |
187 | 26 /* 301 */ |
27 enum PlayerSpeech | |
28 { | |
29 SPEECH_1 = 1, | |
30 SPEECH_2 = 2, | |
31 SPEECH_3 = 3, | |
32 SPEECH_4 = 4, | |
33 SPEECH_5 = 5, | |
34 SPEECH_6 = 6, | |
35 SPEECH_7 = 7, | |
36 SPEECH_8 = 8, | |
37 SPEECH_9 = 9, | |
38 SPEECH_10 = 10, | |
39 SPEECH_11 = 11, | |
40 SPEECH_12 = 12, | |
41 SPEECH_14 = 14, | |
201 | 42 SPEECH_NoRoom = 15, // when placing to inventory |
187 | 43 SPEECH_16 = 16, |
44 SPEECH_17 = 17, | |
45 SPEECH_18 = 18, | |
46 SPEECH_19 = 19, | |
47 SPEECH_20 = 20, | |
48 SPEECH_21 = 21, | |
201 | 49 SPEECH_GoodDay = 22, // greets on dialogue start |
188 | 50 SPEECH_GoodEvening = 23, |
187 | 51 SPEECH_24 = 24, |
52 SPEECH_25 = 25, | |
53 SPEECH_26 = 26, | |
54 SPEECH_27 = 27, | |
55 SPEECH_28 = 28, | |
56 SPEECH_29 = 29, | |
57 SPEECH_30 = 30, | |
58 SPEECH_31 = 31, | |
59 SPEECH_32 = 32, | |
60 SPEECH_33 = 33, | |
61 SPEECH_34 = 34, | |
62 SPEECH_35 = 35, | |
63 SPEECH_36 = 36, | |
64 SPEECH_37 = 37, | |
248 | 65 SPEECH_NotEnoughGold = 38, |
187 | 66 SPEECH_39 = 39, |
67 SPEECH_40 = 40, | |
68 SPEECH_41 = 41, | |
69 SPEECH_42 = 42, | |
70 SPEECH_43 = 43, | |
71 SPEECH_44 = 44, | |
72 SPEECH_45 = 45, | |
73 SPEECH_46 = 46, | |
74 SPEECH_47 = 47, | |
75 SPEECH_48 = 48, | |
76 SPEECH_49 = 49, | |
77 SPEECH_50 = 50, | |
78 SPEECH_51 = 51, | |
79 SPEECH_52 = 52, | |
80 SPEECH_53 = 53, | |
81 SPEECH_54 = 54, | |
82 SPEECH_55 = 55, | |
83 SPEECH_56 = 56, | |
84 SPEECH_57 = 57, | |
85 SPEECH_58 = 58, | |
86 SPEECH_59 = 59, | |
87 SPEECH_60 = 60, | |
88 SPEECH_61 = 61, | |
89 SPEECH_62 = 62, | |
90 SPEECH_63 = 63, | |
91 SPEECH_64 = 64, | |
92 SPEECH_Yell = 65, | |
93 SPEECH_66 = 66, | |
94 SPEECH_67 = 67, | |
95 SPEECH_68 = 68, | |
96 SPEECH_69 = 69, | |
97 SPEECH_70 = 70, | |
652 | 98 SPEECH_CarriageReady = 71, // travelling by carriage |
99 SPEECH_SetSail = 72, // travelling by sea | |
187 | 100 SPEECH_73 = 73, |
101 SPEECH_74 = 74, | |
102 SPEECH_75 = 75, | |
103 SPEECH_76 = 76, | |
104 SPEECH_77 = 77, | |
105 SPEECH_78 = 78, | |
106 SPEECH_79 = 79, | |
107 SPEECH_80 = 80, | |
108 SPEECH_81 = 81, | |
109 SPEECH_82 = 82, | |
110 SPEECH_83 = 83, | |
111 SPEECH_84 = 84, | |
112 SPEECH_85 = 85, | |
113 SPEECH_86 = 86, | |
114 SPEECH_87 = 87, | |
115 SPEECH_88 = 88, | |
116 SPEECH_89 = 89, | |
117 SPEECH_90 = 90, | |
118 SPEECH_91 = 91, | |
119 SPEECH_92 = 92, | |
120 SPEECH_93 = 93, | |
121 SPEECH_94 = 94, | |
122 SPEECH_95 = 95, | |
123 SPEECH_96 = 96, | |
124 SPEECH_97 = 97, | |
125 SPEECH_98 = 98, | |
126 SPEECH_99 = 99, | |
127 SPEECH_100 = 100, | |
128 SPEECH_101 = 101, | |
129 SPEECH_PickMe = 102, | |
130 SPEECH_103 = 103, | |
131 SPEECH_104 = 104, | |
132 SPEECH_105 = 105, | |
133 SPEECH_106 = 106, | |
134 SPEECH_107 = 107, | |
135 SPEECH_108 = 108, | |
136 SPEECH_109 = 109, | |
137 SPEECH_110 = 110, | |
138 }; | |
139 | |
140 | |
141 | |
0 | 142 /* 339 */ |
143 enum CHARACTER_RACE | |
144 { | |
991 | 145 CHARACTER_RACE_HUMAN = 0, |
146 CHARACTER_RACE_ELF = 1, | |
147 CHARACTER_RACE_GOBLIN = 2, | |
148 CHARACTER_RACE_DWARF = 3, | |
0 | 149 }; |
130 | 150 |
0 | 151 /* 332 */ |
152 enum CHARACTER_ATTRIBUTE_TYPE | |
153 { | |
1040 | 154 CHARACTER_ATTRIBUTE_STRENGTH = 0, |
155 CHARACTER_ATTRIBUTE_INTELLIGENCE = 1, | |
156 CHARACTER_ATTRIBUTE_WILLPOWER = 2, | |
157 CHARACTER_ATTRIBUTE_ENDURANCE = 3, | |
158 CHARACTER_ATTRIBUTE_ACCURACY = 4, | |
159 CHARACTER_ATTRIBUTE_SPEED = 5, | |
160 CHARACTER_ATTRIBUTE_LUCK = 6, | |
161 CHARACTER_ATTRIBUTE_HEALTH = 7, | |
162 CHARACTER_ATTRIBUTE_MANA = 8, | |
163 CHARACTER_ATTRIBUTE_AC_BONUS = 9, | |
164 | |
165 CHARACTER_ATTRIBUTE_RESIST_FIRE = 10, | |
166 CHARACTER_ATTRIBUTE_RESIST_AIR = 11, | |
167 CHARACTER_ATTRIBUTE_RESIST_WATER = 12, | |
168 CHARACTER_ATTRIBUTE_RESIST_EARTH = 13, | |
169 CHARACTER_ATTRIBUTE_RESIST_MIND = 14, | |
170 CHARACTER_ATTRIBUTE_RESIST_BODY = 15, | |
171 | |
172 CHARACTER_ATTRIBUTE_SKILL_ALCHEMY = 16, | |
173 CHARACTER_ATTRIBUTE_SKILL_STEALING = 17, | |
174 CHARACTER_ATTRIBUTE_SKILL_TRAP_DISARM = 18, | |
175 CHARACTER_ATTRIBUTE_SKILL_ITEM_ID = 19, | |
176 CHARACTER_ATTRIBUTE_SKILL_MONSTER_ID = 20, | |
177 CHARACTER_ATTRIBUTE_SKILL_ARMSMASTER = 21, | |
178 CHARACTER_ATTRIBUTE_SKILL_DODGE = 22, | |
179 CHARACTER_ATTRIBUTE_SKILL_UNARMED = 23, | |
180 | |
181 CHARACTER_ATTRIBUTE_LEVEL = 24, | |
182 CHARACTER_ATTRIBUTE_ATTACK = 25, | |
183 CHARACTER_ATTRIBUTE_MELEE_DMG_BONUS = 26, | |
184 CHARACTER_ATTRIBUTE_MELEE_DMG_MIN = 27, | |
185 CHARACTER_ATTRIBUTE_MELEE_DMG_MAX = 28, | |
186 CHARACTER_ATTRIBUTE_RANGED_ATTACK = 29, | |
187 CHARACTER_ATTRIBUTE_RANGED_DMG_BONUS = 30, | |
188 CHARACTER_ATTRIBUTE_RANGED_DMG_MIN = 31, | |
189 CHARACTER_ATTRIBUTE_RANGED_DMG_MAX = 32, | |
190 CHARACTER_ATTRIBUTE_RESIST_SPIRIT = 33, | |
191 | |
192 CHARACTER_ATTRIBUTE_SKILL_FIRE = 34, | |
193 CHARACTER_ATTRIBUTE_SKILL_AIR = 35, | |
194 CHARACTER_ATTRIBUTE_SKILL_WATER = 36, | |
195 CHARACTER_ATTRIBUTE_SKILL_EARTH = 37, | |
196 CHARACTER_ATTRIBUTE_SKILL_SPIRIT = 38, | |
197 CHARACTER_ATTRIBUTE_SKILL_MIND = 39, | |
198 CHARACTER_ATTRIBUTE_SKILL_BODY = 40, | |
199 CHARACTER_ATTRIBUTE_SKILL_LIGHT = 41, | |
200 CHARACTER_ATTRIBUTE_SKILL_DARK = 42, | |
201 CHARACTER_ATTRIBUTE_SKILL_MEDITATION = 43, | |
202 CHARACTER_ATTRIBUTE_SKILL_BOW = 44, | |
203 CHARACTER_ATTRIBUTE_SKILL_SHIELD = 45, | |
204 CHARACTER_ATTRIBUTE_SKILL_LEARNING = 46 | |
0 | 205 }; |
206 | |
207 /* 328 */ | |
1160 | 208 enum PLAYER_SKILL_TYPE: signed __int8 |
0 | 209 { |
135 | 210 PLAYER_SKILL_STAFF = 0, |
211 PLAYER_SKILL_SWORD = 1, | |
212 PLAYER_SKILL_DAGGER = 2, | |
213 PLAYER_SKILL_AXE = 3, | |
214 PLAYER_SKILL_SPEAR = 4, | |
215 PLAYER_SKILL_BOW = 5, | |
216 PLAYER_SKILL_MACE = 6, | |
217 PLAYER_SKILL_BLASTER = 7, | |
218 PLAYER_SKILL_SHIELD = 8, | |
219 PLAYER_SKILL_LEATHER = 9, | |
220 PLAYER_SKILL_CHAIN = 10, | |
221 PLAYER_SKILL_PLATE = 11, | |
222 PLAYER_SKILL_FIRE = 12, | |
223 PLAYER_SKILL_AIR = 13, | |
224 PLAYER_SKILL_WATER = 14, | |
225 PLAYER_SKILL_EARTH = 15, | |
226 PLAYER_SKILL_SPIRIT = 16, | |
198 | 227 PLAYER_SKILL_MIND = 17, |
135 | 228 PLAYER_SKILL_BODY = 18, |
198 | 229 PLAYER_SKILL_LIGHT = 19, |
230 PLAYER_SKILL_DARK = 20, | |
231 PLAYER_SKILL_ITEM_ID = 21, | |
232 PLAYER_SKILL_MERCHANT = 22, | |
233 PLAYER_SKILL_REPAIR = 23, | |
234 PLAYER_SKILL_BODYBUILDING = 24, | |
235 PLAYER_SKILL_MEDITATION = 25, | |
236 PLAYER_SKILL_PERCEPTION = 26, | |
237 PLAYER_SKILL_DIPLOMACY = 27, | |
238 PLAYER_SKILL_TIEVERY = 28, | |
135 | 239 PLAYER_SKILL_TRAP_DISARM = 29, |
198 | 240 PLAYER_SKILL_DODGE = 30, |
241 PLAYER_SKILL_UNARMED = 31, | |
242 PLAYER_SKILL_MONSTER_ID = 32, | |
135 | 243 PLAYER_SKILL_ARMSMASTER = 33, |
244 PLAYER_SKILL_STEALING = 34, | |
245 PLAYER_SKILL_ALCHEMY = 35, | |
198 | 246 PLAYER_SKILL_LEARNING = 36, |
374 | 247 PLAYER_SKILL_CLUB = 37, |
385 | 248 PLAYER_SKILL_MISC = 38, |
201 | 249 PLAYER_SKILL_INVALID = -1 |
0 | 250 }; |
251 | |
252 /* 329 */ | |
135 | 253 enum PLAYER_CLASS_TYPE: unsigned __int8 |
0 | 254 { |
135 | 255 PLAYER_CLASS_KNIGHT = 0, |
255 | 256 PLAYER_CLASS_CHEVALIER = 1, |
257 PLAYER_CLASS_CHAMPION = 2, | |
258 PLAYER_CLASS_BLACK_KNIGHT = 3, | |
135 | 259 PLAYER_CLASS_THEIF = 4, |
255 | 260 PLAYER_CLASS_ROGUE = 5, |
261 PLAYER_CLASS_SPY = 6, | |
262 PLAYER_CLASS_ASSASSIN = 7, | |
263 PLAYER_CLASS_MONK = 8, | |
264 PLAYER_CLASS_INITIATE = 9, | |
265 PLAYER_CLASS_MASTER = 10, | |
266 PLAYER_CLASS_NINJA = 11, | |
267 PLAYER_CLASS_PALADIN = 12, | |
268 PLAYER_CLASS_CRUSADER = 13, | |
269 PLAYER_CLASS_HERO = 14, | |
270 PLAYER_CLASS_VILLIAN = 15, | |
271 PLAYER_CLASS_ARCHER = 16, | |
272 PLAYER_CLASS_WARRIOR_MAGE = 17, | |
273 PLAYER_CLASS_MASTER_ARCHER = 18, | |
274 PLAYER_CLASS_SNIPER = 19, | |
275 PLAYER_CLASS_RANGER = 20, | |
276 PLAYER_CLASS_HUNTER = 21, | |
277 PLAYER_CLASS_RANGER_LORD = 22, | |
278 PLAYER_CLASS_BOUNTY_HUNTER = 23, | |
135 | 279 PLAYER_CLASS_CLERIC = 24, |
255 | 280 PLAYER_CLASS_PRIEST = 25, |
281 PLAYER_CLASS_PRIEST_OF_SUN = 26, | |
282 PLAYER_CLASS_PRIEST_OF_MOON = 27, | |
135 | 283 PLAYER_CLASS_DRUID = 28, |
255 | 284 PLAYER_CLASS_GREAT_DRUID = 29, |
285 PLAYER_CLASS_ARCH_DRUID = 30, | |
286 PLAYER_CLASS_WARLOCK = 31, | |
135 | 287 PLAYER_CLASS_SORCERER = 32, |
255 | 288 PLAYER_CLASS_WIZARD = 33, |
289 PLAYER_CLASS_ARCHMAGE = 34, | |
290 PLAYER_CLASS_LICH = 35 | |
0 | 291 }; |
292 | |
293 | |
294 | |
295 | |
296 #pragma pack(push, 1) | |
297 struct LloydBeacon | |
298 { | |
299 unsigned __int64 uBeaconTime; | |
1430 | 300 int PartyPos_X; |
301 int PartyPos_Y; | |
302 int PartyPos_Z; | |
303 __int16 PartyRot_X; | |
304 __int16 PartyRot_Y; | |
305 int SaveFileID; | |
0 | 306 }; |
307 #pragma pack(pop) | |
308 | |
309 | |
310 | |
311 #pragma pack(push, 1) | |
312 struct PlayerSpellbookChapter | |
313 { | |
198 | 314 char bIsSpellAvailable[11]; |
0 | 315 }; |
316 #pragma pack(pop) | |
317 | |
318 #pragma pack(push, 1) | |
319 struct PlayerSpells | |
320 { | |
321 union | |
322 { | |
323 struct | |
324 { | |
325 PlayerSpellbookChapter pFireSpellbook; | |
326 PlayerSpellbookChapter pAirSpellbook; | |
327 PlayerSpellbookChapter pWaterSpellbook; | |
328 PlayerSpellbookChapter pEarthSpellbook; | |
329 PlayerSpellbookChapter pSpiritSpellbook; | |
330 PlayerSpellbookChapter pMindSpellbook; | |
331 PlayerSpellbookChapter pBodySpellbook; | |
332 PlayerSpellbookChapter pLightSpellbook; | |
333 PlayerSpellbookChapter pDarkSpellbook; | |
232 | 334 char _pad_0; |
0 | 335 }; |
336 struct | |
337 { | |
338 PlayerSpellbookChapter pChapters[9]; | |
232 | 339 char _pad_1; |
0 | 340 }; |
1021 | 341 struct |
342 { | |
343 char bHaveSpell[99]; | |
344 char _pad_1; | |
345 }; | |
0 | 346 }; |
347 }; | |
348 #pragma pack(pop) | |
349 | |
350 | |
351 | |
352 #pragma pack(push, 1) | |
353 union PlayerEquipment | |
354 { | |
355 union | |
356 { | |
357 struct | |
358 { | |
898 | 359 unsigned int uShield; |
0 | 360 unsigned int uMainHand; |
361 unsigned int uBow; | |
898 | 362 unsigned int uArmor; |
0 | 363 unsigned int uHelm; |
364 unsigned int uBelt; | |
365 unsigned int uCloak; | |
910 | 366 unsigned int uGlove; |
898 | 367 unsigned int uBoot; |
910 | 368 unsigned int uAmulet; |
369 unsigned int uRings[6]; | |
370 //unsigned int field_2C; | |
371 //unsigned int field_30; | |
372 //unsigned int field_34; | |
373 //unsigned int field_38; | |
374 //unsigned int field_3C; | |
0 | 375 }; |
376 unsigned int pIndices[16]; | |
377 }; | |
378 }; | |
379 #pragma pack(pop) | |
380 | |
381 | |
382 | |
383 | |
384 | |
130 | 385 enum CHARACTER_EXPRESSION_ID: unsigned __int16 |
386 { | |
387 CHARACTER_EXPRESSION_INVALID = 0, | |
388 CHARACTER_EXPRESSION_1 = 1, | |
389 CHARACTER_EXPRESSION_CURSED = 2, | |
390 CHARACTER_EXPRESSION_WEAK = 3, | |
391 CHARACTER_EXPRESSION_SLEEP = 4, | |
392 CHARACTER_EXPRESSION_FEAR = 5, | |
393 CHARACTER_EXPRESSION_DRUNK = 6, | |
394 CHARACTER_EXPRESSION_INSANE = 7, | |
395 CHARACTER_EXPRESSION_POISONED = 8, | |
396 CHARACTER_EXPRESSION_DISEASED = 9, | |
397 CHARACTER_EXPRESSION_PARALYZED = 10, | |
398 CHARACTER_EXPRESSION_UNCONCIOUS = 11, | |
399 CHARACTER_EXPRESSION_PERTIFIED = 12, | |
400 CHARACTER_EXPRESSION_13 = 13, | |
401 CHARACTER_EXPRESSION_14 = 14, | |
402 CHARACTER_EXPRESSION_15 = 15, | |
403 CHARACTER_EXPRESSION_16 = 16, | |
404 CHARACTER_EXPRESSION_17 = 17, | |
405 CHARACTER_EXPRESSION_18 = 18, | |
406 CHARACTER_EXPRESSION_19 = 19, | |
407 CHARACTER_EXPRESSION_20 = 20, | |
408 CHARACTER_EXPRESSION_21 = 21, | |
409 CHARACTER_EXPRESSION_22 = 22, | |
410 CHARACTER_EXPRESSION_23 = 23, | |
411 CHARACTER_EXPRESSION_24 = 24, | |
412 CHARACTER_EXPRESSION_25 = 25, | |
413 CHARACTER_EXPRESSION_26 = 26, | |
414 CHARACTER_EXPRESSION_27 = 27, | |
415 CHARACTER_EXPRESSION_28 = 28, | |
416 CHARACTER_EXPRESSION_29 = 29, | |
417 CHARACTER_EXPRESSION_30 = 30, | |
418 CHARACTER_EXPRESSION_31 = 31, | |
419 CHARACTER_EXPRESSION_32 = 32, | |
420 CHARACTER_EXPRESSION_33 = 33, | |
1352
88f80476c99c
Player::PlayEmotion simplified main condition, renamed a few expression enum vals
Grumpy7
parents:
1348
diff
changeset
|
421 CHARACTER_EXPRESSION_DMGRECVD_MINOR = 34, |
88f80476c99c
Player::PlayEmotion simplified main condition, renamed a few expression enum vals
Grumpy7
parents:
1348
diff
changeset
|
422 CHARACTER_EXPRESSION_DMGRECVD_MODERATE = 35, |
88f80476c99c
Player::PlayEmotion simplified main condition, renamed a few expression enum vals
Grumpy7
parents:
1348
diff
changeset
|
423 CHARACTER_EXPRESSION_DMGRECVD_MAJOR = 36, |
130 | 424 CHARACTER_EXPRESSION_37 = 37, |
425 CHARACTER_EXPRESSION_38 = 38, | |
426 CHARACTER_EXPRESSION_39 = 39, | |
427 | |
428 // ? | |
429 | |
831 | 430 CHARACTER_EXPRESSION_SCARED = 46, // like falling |
130 | 431 |
432 CHARACTER_EXPRESSION_54 = 54, | |
433 CHARACTER_EXPRESSION_55 = 55, | |
434 CHARACTER_EXPRESSION_56 = 56, | |
435 CHARACTER_EXPRESSION_57 = 57, | |
1352
88f80476c99c
Player::PlayEmotion simplified main condition, renamed a few expression enum vals
Grumpy7
parents:
1348
diff
changeset
|
436 CHARACTER_EXPRESSION_FALLING = 58, |
130 | 437 |
438 // ? | |
439 | |
440 CHARACTER_EXPRESSION_DEAD = 98, | |
441 CHARACTER_EXPRESSION_ERADICATED = 99, | |
442 }; | |
443 | |
444 | |
0 | 445 enum PLAYER_SEX: unsigned __int8 |
446 { | |
447 SEX_MALE = 0, | |
448 SEX_FEMALE = 1 | |
449 }; | |
450 | |
451 #pragma pack(push, 1) | |
452 struct Player | |
453 { | |
1363 | 454 static const unsigned int INVETORYSLOTSWIDTH = 14; |
455 static const unsigned int INVETORYSLOTSHEIGHT = 9; | |
456 | |
0 | 457 |
458 Player(); | |
459 | |
460 void SetVariable(enum VariableType var, signed int a3); | |
461 void AddVariable(enum VariableType var, signed int val); | |
501 | 462 bool SubtractVariable(enum VariableType VarNum, signed int pValue); |
484 | 463 bool CompareVariable(enum VariableType VarNum, signed int pValue); |
0 | 464 void UseItem_DrinkPotion_etc(signed int a2, int a3); |
465 bool AddItem(struct ItemGen *pItem); | |
1325 | 466 int GetActualAttribute(CHARACTER_ATTRIBUTE_TYPE attrId); |
0 | 467 int GetBaseStrength(); |
468 int GetBaseIntelligence(); | |
469 int GetBaseWillpower(); | |
470 int GetBaseEndurance(); | |
471 int GetBaseAccuracy(); | |
472 int GetBaseSpeed(); | |
473 int GetBaseLuck(); | |
474 int GetBaseLevel(); | |
475 int GetActualLevel(); | |
476 int GetActualMight(); | |
477 int GetActualIntelligence(); | |
478 int GetActualWillpower(); | |
479 int GetActualEndurance(); | |
480 int GetActualAccuracy(); | |
481 int GetActualSpeed(); | |
482 int GetActualLuck(); | |
483 int GetActualAttack(int a2); | |
484 int GetMeleeDamageMinimal(); | |
485 int GetMeleeDamageMaximal(); | |
486 int CalculateMeleeDamageTo(int a2, int a3, unsigned int uTargetActorID); | |
487 int GetRangedAttack(); | |
488 int GetRangedDamageMin(); | |
489 int GetRangedDamageMax(); | |
490 bool CalculateRangedDamageTo(int a2); | |
491 char *GetMeleeDamageString(); | |
492 char *GetRangedDamageString(); | |
493 bool CanTrainToNextLevel(); | |
494 unsigned int GetExperienceDisplayColor(); | |
1036 | 495 int CalculateIncommingDamage(DAMAGE_TYPE dmg_type, int amount); |
821 | 496 ITEM_EQUIP_TYPE GetEquippedItemEquipType(ITEM_EQUIP_TYPE uEquipSlot); |
497 PLAYER_SKILL_TYPE GetEquippedItemSkillType(ITEM_EQUIP_TYPE uEquipSlot); | |
0 | 498 bool IsUnarmed(); |
821 | 499 bool HasItemEquipped(ITEM_EQUIP_TYPE uEquipIndex); |
0 | 500 bool HasEnchantedItemEquipped(int uEnchantment); |
1080 | 501 bool WearsItem(int item_id, ITEM_EQUIP_TYPE equip_type); |
0 | 502 bool StealFromShop(struct ItemGen *a2, int a3, int a4, int a5, int *a6); |
503 int StealFromActor(unsigned int uActorID, int _steal_perm, int reputation); | |
504 void Heal(int amount); | |
1036 | 505 int ReceiveDamage(signed int amount, DAMAGE_TYPE dmg_type); |
0 | 506 int _48DCF6(int a2, struct Actor *pActor); |
507 unsigned int GetSpellSchool(unsigned int uSpellID); | |
816 | 508 int GetAttackRecoveryTime(bool bRangedAttack); |
0 | 509 int GetMaxHealth(); |
510 int GetMaxMana(); | |
511 int GetBaseAC(); | |
512 int GetActualAC(); | |
513 unsigned int GetBaseAge(); | |
514 unsigned int GetActualAge(); | |
515 int GetBaseResistance(enum CHARACTER_ATTRIBUTE_TYPE a2); | |
516 int GetActualResistance(enum CHARACTER_ATTRIBUTE_TYPE a2); | |
517 void SetRecoveryTime(signed int sRecoveryTime); | |
518 void RandomizeName(); | |
519 unsigned int GetMajorConditionIdx(); | |
1036 | 520 int GetParameterBonus(int player_parameter); |
0 | 521 int _48EA46_calc_special_bonus_by_items(int a2); |
522 int GetItemsBonus(enum CHARACTER_ATTRIBUTE_TYPE attr, int a3); | |
523 int GetMagicalBonus(enum CHARACTER_ATTRIBUTE_TYPE a2); | |
1008 | 524 int GetActualSkillLevel(PLAYER_SKILL_TYPE uSkillType); |
0 | 525 int GetSkillBonus(enum CHARACTER_ATTRIBUTE_TYPE a2); |
526 enum CHARACTER_RACE GetRace(); | |
187 | 527 PLAYER_SEX GetSexByVoice(); |
0 | 528 void SetInitialStats(); |
1022 | 529 void SetSexByVoice(); |
135 | 530 void Reset(PLAYER_CLASS_TYPE classType); |
821 | 531 PLAYER_SKILL_TYPE GetSkillIdxByOrder(signed int order); |
0 | 532 void DecreaseAttribute(int eAttribute); |
1273 | 533 void IncreaseAttribute(int eAttribute); |
0 | 534 void Player::Zero(); |
297 | 535 unsigned int GetStatColor(int uStat); |
0 | 536 bool DiscardConditionIfLastsLongerThan(unsigned int uCondition, unsigned __int64 uTime); |
917 | 537 int SelectPhrasesTransaction(ItemGen *pItem, int building_type, int BuildID_2Events, int a5); |
0 | 538 int GetBodybuilding(); |
607 | 539 int GetMeditation(); |
0 | 540 int CanIdentify(ItemGen *pItem); |
541 int CanRepair(ItemGen *); | |
542 int GetMerchant(); | |
543 int GetPerception(); | |
544 int GetDisarmTrap(); | |
545 char GetLearningPercent(); | |
546 bool CanFitItem(unsigned int uSlot, unsigned int uItemID); | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1383
diff
changeset
|
547 int FindFreeInventoryListSlot(); |
0 | 548 int CreateItemInInventory(unsigned int uSlot, unsigned int uItemID); |
549 int HasSkill(unsigned int uSkillType); | |
1382
132a6a0d5cef
Player::AddItem2, Player::CreateItemInInventory2 cleanup
Grumpy7
parents:
1365
diff
changeset
|
550 void WearItem(unsigned int uItemID); |
1014 | 551 int AddItem(int uSlot, unsigned int uItemID); |
552 int AddItem2(int uSlot, ItemGen *Src); | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1383
diff
changeset
|
553 int CreateItemInInventory2(unsigned int index, ItemGen *Src); |
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1383
diff
changeset
|
554 void PutItemArInventoryIndex(int uItemID, int itemListPos, int uSlot); |
1006 | 555 void RemoveItemAtInventoryIndex(unsigned int uSlot); |
0 | 556 bool CanAct(); |
557 bool CanSteal(); | |
558 bool CanEquip_RaceAndAlignmentCheck(unsigned int uItemID); | |
1361
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
559 void SetCondition(unsigned int uConditionIdx, int a3); |
1355 | 560 bool ProfessionOrGuildFlagsCorrect(unsigned int uClass, int a3); |
187 | 561 void PlaySound(PlayerSpeech speech, int a3); |
562 void PlayEmotion(CHARACTER_EXPRESSION_ID expression, int a3); | |
1012 | 563 void ItemsEnchant(int enchant_count); |
0 | 564 unsigned int GetItemIDAtInventoryIndex(int *a2); |
1348 | 565 bool IsPlayerHealableByTemple(); |
1275 | 566 int GetBaseIdentifyPrice(float a2); |
567 int GetBaseRepairPrice(int a2, float a3); | |
568 int GetBaseBuyingPrice(int a2, float a3); | |
569 int GetBaseSellingPrice(int a2, float a3); | |
916 | 570 int GetPriceRepair(int a2, float a3); |
571 int GetPriceIdentification(float a2); | |
749 | 572 int GetBuyingPrice(unsigned int uRealValue, float price_multiplier); |
917 | 573 int GetPriceSell(int uRealValue, float price_multiplier); |
1274
351bc06722f2
Player::_4B807C changed to Player::GetTempleHealCostModifier, cleaned up
Grumpy7
parents:
1273
diff
changeset
|
574 int GetTempleHealCostModifier(float a2); |
1036 | 575 int GetConditionDayOfWeek(unsigned int uCondition); |
1346
1434b36f4bdb
Player::_43EEF3 renamed to NothingOrJustBlastersEquipped
Grumpy7
parents:
1325
diff
changeset
|
576 bool NothingOrJustBlastersEquipped(); |
1014 | 577 void SalesProcess(unsigned int inventory_idnx, int item_index, int _2devent_idx);//0x4BE2DD |
0 | 578 bool Recover(signed int a2); |
579 bool CanCastSpell(unsigned int uRequiredMana); | |
1259
d6e5b6b76612
Player::SetVariable cleanup - removing unused variables and function calls with them, some case shuffling
Grumpy7
parents:
1258
diff
changeset
|
580 void PlaySoundBasedOnCondition(int currPlayerId); |
d6e5b6b76612
Player::SetVariable cleanup - removing unused variables and function calls with them, some case shuffling
Grumpy7
parents:
1258
diff
changeset
|
581 void DrawPlayerBuffAnimBasedOnCondition(int currPlayerId); |
1276
f11651288371
changed sub_467E7F_EquipBody to Player::EquipBody, some more header file stuff
Grumpy7
parents:
1275
diff
changeset
|
582 void EquipBody(ITEM_EQUIP_TYPE uEquipType); |
0 | 583 |
1362
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
584 bool IsWeak(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
585 bool IsDead(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
586 bool IsEradicated(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
587 bool IsZombie(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
588 bool IsCursed(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
589 bool IsPertified(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
590 bool IsUnconcious(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
591 bool IsAsleep(); |
d6cf8ead9242
Condition checking functions slightly renamed, some final changes in Player::SetCondition
Grumpy7
parents:
1361
diff
changeset
|
592 bool IsParalyzed(); |
0 | 593 |
1361
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
594 void SetCursed(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
595 void SetWeak(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
596 void SetAsleep(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
597 void SetAfraid(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
598 void SetDrunk(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
599 void SetInsane(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
600 void SetPoison1(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
601 void SetDisease1(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
602 void SetPoison2(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
603 void SetDisease2(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
604 void SetPoison3(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
605 void SetDisease3(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
606 void SetParalyzed(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
607 void SetUnconcious(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
608 void SetDead(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
609 void SetPertified(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
610 void SetEradicated(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
611 void SetZombie(bool state); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
612 |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
613 void SetCondWeakWithBlockCheck (int blockable); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
614 void SetCondInsaneWithBlockCheck (int blockable); |
b3ac17fd12de
Moved condition checking to a separate class, extracted it from player::SetCondition
Grumpy7
parents:
1357
diff
changeset
|
615 void SetCondDeadWithBlockCheck (int blockable); |
1357
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
616 |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
617 inline bool IsRaceHuman() {return GetRace() == CHARACTER_RACE_HUMAN;} |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
618 inline bool IsRaceDwarf() {return GetRace() == CHARACTER_RACE_DWARF;} |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
619 inline bool IsRaceElf() {return GetRace() == CHARACTER_RACE_ELF;} |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
620 inline bool IsRaceGoblin() {return GetRace() == CHARACTER_RACE_GOBLIN;} |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
621 |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
622 inline bool IsMale() { return GetSexByVoice() == SEX_MALE;} |
06926081358f
Player::CanEquip_RaceAndAlignmentCheck fixed 3 missing return values, started using new race and gender functions, moved everything to a switch
Grumpy7
parents:
1355
diff
changeset
|
623 inline bool IsFemale() { return !IsMale();} |
1537
fed56133bf8a
Player:GetSkillBonus cleanup, multiplier evaluation moved to a separate function, variable clanup, renaming, scope reduction
Grumpy7
parents:
1523
diff
changeset
|
624 unsigned int GetMultiplierForMastery(unsigned int skillValue, int mult1, int mult2, int mult3, int mult4); |
0 | 625 __int64 pConditions[20]; |
626 unsigned __int64 uExperience; | |
627 char pName[16]; | |
628 PLAYER_SEX uSex; | |
135 | 629 PLAYER_CLASS_TYPE classType; |
1014 | 630 unsigned __int8 uCurrentFace; |
0 | 631 char field_BB; |
632 unsigned __int16 uMight; | |
633 unsigned __int16 uMightBonus; | |
634 unsigned __int16 uIntelligence; | |
635 unsigned __int16 uIntelligenceBonus; | |
636 unsigned __int16 uWillpower; | |
637 unsigned __int16 uWillpowerBonus; | |
638 unsigned __int16 uEndurance; | |
639 unsigned __int16 uEnduranceBonus; | |
640 unsigned __int16 uSpeed; | |
641 unsigned __int16 uSpeedBonus; | |
642 unsigned __int16 uAccuracy; | |
643 unsigned __int16 uAccuracyBonus; | |
644 unsigned __int16 uLuck; | |
645 unsigned __int16 uLuckBonus; | |
646 __int16 sACModifier; | |
647 unsigned __int16 uLevel; | |
648 __int16 sLevelModifier; | |
649 __int16 sAgeModifier; | |
650 int field_E0; | |
651 int field_E4; | |
652 int field_E8; | |
653 int field_EC; | |
654 int field_F0; | |
655 int field_F4; | |
656 int field_F8; | |
657 int field_FC; | |
658 int field_100; | |
659 int field_104; | |
660 union | |
661 { | |
662 struct | |
663 { | |
664 unsigned __int16 skillStaff; | |
665 unsigned __int16 skillSword; | |
666 unsigned __int16 skillDagger; | |
667 unsigned __int16 skillAxe; | |
668 unsigned __int16 skillSpear; | |
669 unsigned __int16 skillBow; | |
670 unsigned __int16 skillMace; | |
671 unsigned __int16 skillBlaster; | |
672 unsigned __int16 skillShield; | |
673 unsigned __int16 skillLeather; | |
674 unsigned __int16 skillChain; | |
675 unsigned __int16 skillPlate; | |
676 unsigned __int16 skillFire; | |
677 unsigned __int16 skillAir; | |
678 unsigned __int16 skillWater; | |
679 unsigned __int16 skillEarth; | |
680 unsigned __int16 skillSpirit; | |
681 unsigned __int16 skillMind; | |
682 unsigned __int16 skillBody; | |
683 unsigned __int16 skillLight; | |
684 unsigned __int16 skillDark; | |
685 unsigned __int16 skillItemId; | |
686 unsigned __int16 skillMerchant; | |
687 unsigned __int16 skillRepair; | |
688 unsigned __int16 skillBodybuilding; | |
689 unsigned __int16 skillMeditation; | |
690 unsigned __int16 skillPerception; | |
691 unsigned __int16 skillDiplomacy; | |
692 unsigned __int16 skillThievery; | |
693 unsigned __int16 skillDisarmTrap; | |
694 unsigned __int16 skillDodge; | |
695 unsigned __int16 skillUnarmed; | |
696 unsigned __int16 skillMonsterId; | |
697 unsigned __int16 skillArmsmaster; | |
698 unsigned __int16 skillStealing; | |
699 unsigned __int16 skillAlchemy; | |
700 unsigned __int16 skillLearning; | |
701 }; | |
702 unsigned __int16 pActiveSkills[37]; | |
703 }; | |
1460
ff2118028c71
renaming _guilds_member_bits to _achieved_awards_bits
Gloval
parents:
1430
diff
changeset
|
704 unsigned char _achieved_awards_bits[64]; |
0 | 705 PlayerSpells spellbook; |
1019 | 706 char field__1F5[2]; // used to be [31] |
707 int pure_luck_used; | |
708 int pure_speed_used; | |
709 int pure_intellect_used; | |
710 int pure_endurance_used; | |
711 int pure_willpower_used; | |
712 int pure_accuracy_used; | |
713 int pure_might_used; | |
714 union //214h | |
1012 | 715 { |
716 struct | |
717 { | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1383
diff
changeset
|
718 ItemGen pInventoryItemList[126]; |
1012 | 719 ItemGen pEquippedItems[12]; |
720 }; | |
721 ItemGen pOwnItems[138]; | |
722 }; | |
723 | |
1384
b51332ab228f
changed a few member variables in Player to slightly less confusing names
Grumpy7
parents:
1383
diff
changeset
|
724 int pInventoryMatrix[126]; |
0 | 725 __int16 sResFireBase; |
726 __int16 sResAirBase; | |
727 __int16 sResWaterBase; | |
728 __int16 sResEarthBase; | |
729 __int16 field_177C; | |
730 __int16 sResMagicBase; | |
731 __int16 sResSpiritBase; | |
732 __int16 sResMindBase; | |
733 __int16 sResBodyBase; | |
734 __int16 sResLightBase; | |
735 __int16 sResDarkBase; | |
736 __int16 sResFireBonus; | |
737 __int16 sResAirBonus; | |
738 __int16 sResWaterBonus; | |
739 __int16 sResEarthBonus; | |
740 __int16 field_1792; | |
741 __int16 sResMagicBonus; | |
742 __int16 sResSpiritBonus; | |
743 __int16 sResMindBonus; | |
744 __int16 sResBodyBonus; | |
745 __int16 sResLightBonus; | |
746 __int16 sResDarkBonus; | |
747 SpellBuff pPlayerBuffs[24]; | |
748 unsigned int uVoiceID; | |
1014 | 749 int uPrevVoiceID; |
750 int uPrevFace; | |
0 | 751 int field_192C; |
752 int field_1930; | |
753 unsigned __int16 uTimeToRecovery; | |
754 char field_1936; | |
755 char field_1937; | |
756 unsigned int uSkillPoints; | |
757 int sHealth; | |
758 int sMana; | |
759 unsigned int uBirthYear; | |
760 PlayerEquipment pEquipment; | |
761 int field_1988[49]; | |
762 char field_1A4C; | |
763 char field_1A4D; | |
198 | 764 char lastOpenedSpellbookPage; |
0 | 765 unsigned __int8 uQuickSpell; |
766 char field_1A50[64]; | |
767 char _some_attack_bonus; | |
768 char field_1A91; | |
769 char _melee_dmg_bonus; | |
770 char field_1A93; | |
771 char _ranged_atk_bonus; | |
772 char field_1A95; | |
773 char _ranged_dmg_bonus; | |
774 char field_1A97; | |
775 char uFullHealthBonus; | |
776 char _health_related; | |
777 char uFullManaBonus; | |
778 char _mana_related; | |
130 | 779 CHARACTER_EXPRESSION_ID expression; |
0 | 780 unsigned __int16 uExpressionTimePassed; |
781 unsigned __int16 uExpressionTimeLength; | |
782 __int16 field_1AA2; | |
554
9caf59edb1ee
Cave and Temple load and even doesn't crash (for a while).
Nomad
parents:
501
diff
changeset
|
783 int _expression21_animtime; |
9caf59edb1ee
Cave and Temple load and even doesn't crash (for a while).
Nomad
parents:
501
diff
changeset
|
784 int _expression21_frameset; |
0 | 785 LloydBeacon pInstalledBeacons[5]; |
786 char uNumDivineInterventionCastsThisDay; | |
787 char uNumArmageddonCasts; | |
788 char uNumFireSpikeCasts; | |
789 char field_1B3B; | |
790 }; | |
791 #pragma pack(pop) |