Mercurial > mm7
annotate Player.h @ 908:e2c1cb9b46f6
m
author | Ritor1 |
---|---|
date | Mon, 22 Apr 2013 09:25:05 +0600 |
parents | 10fa7dad1391 |
children | 23655ae9cd18 |
rev | line source |
---|---|
0 | 1 #pragma once |
2 #include "Items.h" | |
3 #include "Spells.h" | |
4 | |
5 | |
6 | |
7 | |
488 | 8 #define PLAYER_BUFF_BLESS 1 |
9 #define PLAYER_BUFF_FATE 4 | |
10 #define PLAYER_BUFF_HAMMERHANDS 6 | |
816 | 11 #define PLAYER_BUFF_7 7 |
488 | 12 #define PLAYER_BUFF_PAIN_REFLECTION 10 |
13 #define PLAYER_BUFF_PRESERVATION 11 | |
14 #define PLAYER_BUFF_REGENERATION 12 | |
187 | 15 |
16 | |
735 | 17 #define PLAYER_GUID_BITS__SPIRIT_MEMBERSHIP 58 |
18 | |
19 | |
187 | 20 /* 301 */ |
21 enum PlayerSpeech | |
22 { | |
23 SPEECH_1 = 1, | |
24 SPEECH_2 = 2, | |
25 SPEECH_3 = 3, | |
26 SPEECH_4 = 4, | |
27 SPEECH_5 = 5, | |
28 SPEECH_6 = 6, | |
29 SPEECH_7 = 7, | |
30 SPEECH_8 = 8, | |
31 SPEECH_9 = 9, | |
32 SPEECH_10 = 10, | |
33 SPEECH_11 = 11, | |
34 SPEECH_12 = 12, | |
35 SPEECH_14 = 14, | |
201 | 36 SPEECH_NoRoom = 15, // when placing to inventory |
187 | 37 SPEECH_16 = 16, |
38 SPEECH_17 = 17, | |
39 SPEECH_18 = 18, | |
40 SPEECH_19 = 19, | |
41 SPEECH_20 = 20, | |
42 SPEECH_21 = 21, | |
201 | 43 SPEECH_GoodDay = 22, // greets on dialogue start |
188 | 44 SPEECH_GoodEvening = 23, |
187 | 45 SPEECH_24 = 24, |
46 SPEECH_25 = 25, | |
47 SPEECH_26 = 26, | |
48 SPEECH_27 = 27, | |
49 SPEECH_28 = 28, | |
50 SPEECH_29 = 29, | |
51 SPEECH_30 = 30, | |
52 SPEECH_31 = 31, | |
53 SPEECH_32 = 32, | |
54 SPEECH_33 = 33, | |
55 SPEECH_34 = 34, | |
56 SPEECH_35 = 35, | |
57 SPEECH_36 = 36, | |
58 SPEECH_37 = 37, | |
248 | 59 SPEECH_NotEnoughGold = 38, |
187 | 60 SPEECH_39 = 39, |
61 SPEECH_40 = 40, | |
62 SPEECH_41 = 41, | |
63 SPEECH_42 = 42, | |
64 SPEECH_43 = 43, | |
65 SPEECH_44 = 44, | |
66 SPEECH_45 = 45, | |
67 SPEECH_46 = 46, | |
68 SPEECH_47 = 47, | |
69 SPEECH_48 = 48, | |
70 SPEECH_49 = 49, | |
71 SPEECH_50 = 50, | |
72 SPEECH_51 = 51, | |
73 SPEECH_52 = 52, | |
74 SPEECH_53 = 53, | |
75 SPEECH_54 = 54, | |
76 SPEECH_55 = 55, | |
77 SPEECH_56 = 56, | |
78 SPEECH_57 = 57, | |
79 SPEECH_58 = 58, | |
80 SPEECH_59 = 59, | |
81 SPEECH_60 = 60, | |
82 SPEECH_61 = 61, | |
83 SPEECH_62 = 62, | |
84 SPEECH_63 = 63, | |
85 SPEECH_64 = 64, | |
86 SPEECH_Yell = 65, | |
87 SPEECH_66 = 66, | |
88 SPEECH_67 = 67, | |
89 SPEECH_68 = 68, | |
90 SPEECH_69 = 69, | |
91 SPEECH_70 = 70, | |
652 | 92 SPEECH_CarriageReady = 71, // travelling by carriage |
93 SPEECH_SetSail = 72, // travelling by sea | |
187 | 94 SPEECH_73 = 73, |
95 SPEECH_74 = 74, | |
96 SPEECH_75 = 75, | |
97 SPEECH_76 = 76, | |
98 SPEECH_77 = 77, | |
99 SPEECH_78 = 78, | |
100 SPEECH_79 = 79, | |
101 SPEECH_80 = 80, | |
102 SPEECH_81 = 81, | |
103 SPEECH_82 = 82, | |
104 SPEECH_83 = 83, | |
105 SPEECH_84 = 84, | |
106 SPEECH_85 = 85, | |
107 SPEECH_86 = 86, | |
108 SPEECH_87 = 87, | |
109 SPEECH_88 = 88, | |
110 SPEECH_89 = 89, | |
111 SPEECH_90 = 90, | |
112 SPEECH_91 = 91, | |
113 SPEECH_92 = 92, | |
114 SPEECH_93 = 93, | |
115 SPEECH_94 = 94, | |
116 SPEECH_95 = 95, | |
117 SPEECH_96 = 96, | |
118 SPEECH_97 = 97, | |
119 SPEECH_98 = 98, | |
120 SPEECH_99 = 99, | |
121 SPEECH_100 = 100, | |
122 SPEECH_101 = 101, | |
123 SPEECH_PickMe = 102, | |
124 SPEECH_103 = 103, | |
125 SPEECH_104 = 104, | |
126 SPEECH_105 = 105, | |
127 SPEECH_106 = 106, | |
128 SPEECH_107 = 107, | |
129 SPEECH_108 = 108, | |
130 SPEECH_109 = 109, | |
131 SPEECH_110 = 110, | |
132 }; | |
133 | |
134 | |
135 | |
0 | 136 /* 339 */ |
137 enum CHARACTER_RACE | |
138 { | |
139 CHARACTER_RACE_HUMAN = 0x0, | |
140 CHARACTER_RACE_ELF = 0x1, | |
141 CHARACTER_RACE_GOBLIN = 0x2, | |
142 CHARACTER_RACE_DWARF = 0x3, | |
143 }; | |
144 enum CHARACTER_ATTRIBUTE | |
145 { | |
146 CHARACTER_MIGHT = 0x0, | |
147 CHARACTER_INTELLIGANCE = 0x1, | |
148 CHARACTER_WILLPOWER = 0x2, | |
149 CHARACTER_ENDURANCE = 0x3, | |
150 CHARACTER_ACCURACY = 0x4, | |
151 CHARACTER_SPEED = 0x5, | |
152 CHARACTER_LUCK = 0x6, | |
153 }; | |
154 | |
130 | 155 |
156 | |
0 | 157 /* 332 */ |
158 enum CHARACTER_ATTRIBUTE_TYPE | |
159 { | |
160 CHARACTER_ATTRIBUTE_STRENGTH = 0x0, | |
161 CHARACTER_ATTRIBUTE_INTELLIGENCE = 0x1, | |
162 CHARACTER_ATTRIBUTE_WILLPOWER = 0x2, | |
163 CHARACTER_ATTRIBUTE_ENDURANCE = 0x3, | |
164 CHARACTER_ATTRIBUTE_ACCURACY = 0x4, | |
165 CHARACTER_ATTRIBUTE_SPEED = 0x5, | |
166 CHARACTER_ATTRIBUTE_LUCK = 0x6, | |
167 CHARACTER_ATTRIBUTE_HEALTH = 0x7, | |
168 CHARACTER_ATTRIBUTE_MANA = 0x8, | |
169 CHARACTER_ATTRIBUTE_AC_BONUS = 0x9, | |
170 CHARACTER_ATTRIBUTE_RESIST_FIRE = 0xA, | |
171 CHARACTER_ATTRIBUTE_RESIST_AIR = 0xB, | |
172 CHARACTER_ATTRIBUTE_RESIST_WATER = 0xC, | |
173 CHARACTER_ATTRIBUTE_RESIST_EARTH = 0xD, | |
174 CHARACTER_ATTRIBUTE_RESIST_MIND = 0xE, | |
175 CHARACTER_ATTRIBUTE_RESIST_BODY = 0xF, | |
176 CHARACTER_ATTRIBUTE_LEVEL = 0x18, | |
177 CHARACTER_ATTRIBUTE_ATTACK = 0x19, | |
178 CHARACTER_ATTRIBUTE_MELEE_DMG_BONUS = 0x1A, | |
179 CHARACTER_ATTRIBUTE_MELEE_DMG_MIN = 0x1B, | |
180 CHARACTER_ATTRIBUTE_MELEE_DMG_MAX = 0x1C, | |
181 CHARACTER_ATTRIBUTE_RANGED_ATTACK = 0x1D, | |
182 CHARACTER_ATTRIBUTE_RANGED_DAMAGE_BONUS = 0x1E, | |
183 CHARACTER_ATTRIBUTE_RANGED_DAMAGE_MIN = 0x1F, | |
184 CHARACTER_ATTRIBUTE_RANGED_DAMAGE_MAX = 0x20, | |
185 }; | |
186 | |
187 /* 328 */ | |
816 | 188 enum PLAYER_SKILL_TYPE: unsigned __int8 |
0 | 189 { |
135 | 190 PLAYER_SKILL_STAFF = 0, |
191 PLAYER_SKILL_SWORD = 1, | |
192 PLAYER_SKILL_DAGGER = 2, | |
193 PLAYER_SKILL_AXE = 3, | |
194 PLAYER_SKILL_SPEAR = 4, | |
195 PLAYER_SKILL_BOW = 5, | |
196 PLAYER_SKILL_MACE = 6, | |
197 PLAYER_SKILL_BLASTER = 7, | |
198 PLAYER_SKILL_SHIELD = 8, | |
199 PLAYER_SKILL_LEATHER = 9, | |
200 PLAYER_SKILL_CHAIN = 10, | |
201 PLAYER_SKILL_PLATE = 11, | |
202 PLAYER_SKILL_FIRE = 12, | |
203 PLAYER_SKILL_AIR = 13, | |
204 PLAYER_SKILL_WATER = 14, | |
205 PLAYER_SKILL_EARTH = 15, | |
206 PLAYER_SKILL_SPIRIT = 16, | |
198 | 207 PLAYER_SKILL_MIND = 17, |
135 | 208 PLAYER_SKILL_BODY = 18, |
198 | 209 PLAYER_SKILL_LIGHT = 19, |
210 PLAYER_SKILL_DARK = 20, | |
211 PLAYER_SKILL_ITEM_ID = 21, | |
212 PLAYER_SKILL_MERCHANT = 22, | |
213 PLAYER_SKILL_REPAIR = 23, | |
214 PLAYER_SKILL_BODYBUILDING = 24, | |
215 PLAYER_SKILL_MEDITATION = 25, | |
216 PLAYER_SKILL_PERCEPTION = 26, | |
217 PLAYER_SKILL_DIPLOMACY = 27, | |
218 PLAYER_SKILL_TIEVERY = 28, | |
135 | 219 PLAYER_SKILL_TRAP_DISARM = 29, |
198 | 220 PLAYER_SKILL_DODGE = 30, |
221 PLAYER_SKILL_UNARMED = 31, | |
222 PLAYER_SKILL_MONSTER_ID = 32, | |
135 | 223 PLAYER_SKILL_ARMSMASTER = 33, |
224 PLAYER_SKILL_STEALING = 34, | |
225 PLAYER_SKILL_ALCHEMY = 35, | |
198 | 226 PLAYER_SKILL_LEARNING = 36, |
374 | 227 PLAYER_SKILL_CLUB = 37, |
385 | 228 PLAYER_SKILL_MISC = 38, |
201 | 229 PLAYER_SKILL_INVALID = -1 |
0 | 230 }; |
231 | |
232 /* 329 */ | |
135 | 233 enum PLAYER_CLASS_TYPE: unsigned __int8 |
0 | 234 { |
135 | 235 PLAYER_CLASS_KNIGHT = 0, |
255 | 236 PLAYER_CLASS_CHEVALIER = 1, |
237 PLAYER_CLASS_CHAMPION = 2, | |
238 PLAYER_CLASS_BLACK_KNIGHT = 3, | |
135 | 239 PLAYER_CLASS_THEIF = 4, |
255 | 240 PLAYER_CLASS_ROGUE = 5, |
241 PLAYER_CLASS_SPY = 6, | |
242 PLAYER_CLASS_ASSASSIN = 7, | |
243 PLAYER_CLASS_MONK = 8, | |
244 PLAYER_CLASS_INITIATE = 9, | |
245 PLAYER_CLASS_MASTER = 10, | |
246 PLAYER_CLASS_NINJA = 11, | |
247 PLAYER_CLASS_PALADIN = 12, | |
248 PLAYER_CLASS_CRUSADER = 13, | |
249 PLAYER_CLASS_HERO = 14, | |
250 PLAYER_CLASS_VILLIAN = 15, | |
251 PLAYER_CLASS_ARCHER = 16, | |
252 PLAYER_CLASS_WARRIOR_MAGE = 17, | |
253 PLAYER_CLASS_MASTER_ARCHER = 18, | |
254 PLAYER_CLASS_SNIPER = 19, | |
255 PLAYER_CLASS_RANGER = 20, | |
256 PLAYER_CLASS_HUNTER = 21, | |
257 PLAYER_CLASS_RANGER_LORD = 22, | |
258 PLAYER_CLASS_BOUNTY_HUNTER = 23, | |
135 | 259 PLAYER_CLASS_CLERIC = 24, |
255 | 260 PLAYER_CLASS_PRIEST = 25, |
261 PLAYER_CLASS_PRIEST_OF_SUN = 26, | |
262 PLAYER_CLASS_PRIEST_OF_MOON = 27, | |
135 | 263 PLAYER_CLASS_DRUID = 28, |
255 | 264 PLAYER_CLASS_GREAT_DRUID = 29, |
265 PLAYER_CLASS_ARCH_DRUID = 30, | |
266 PLAYER_CLASS_WARLOCK = 31, | |
135 | 267 PLAYER_CLASS_SORCERER = 32, |
255 | 268 PLAYER_CLASS_WIZARD = 33, |
269 PLAYER_CLASS_ARCHMAGE = 34, | |
270 PLAYER_CLASS_LICH = 35 | |
0 | 271 }; |
272 | |
273 | |
274 | |
275 | |
276 #pragma pack(push, 1) | |
277 struct LloydBeacon | |
278 { | |
279 unsigned __int64 uBeaconTime; | |
280 int field_8; | |
281 int field_C; | |
282 int field_10; | |
283 int field_14; | |
284 int field_18; | |
285 }; | |
286 #pragma pack(pop) | |
287 | |
288 | |
289 | |
290 #pragma pack(push, 1) | |
291 struct PlayerSpellbookChapter | |
292 { | |
198 | 293 char bIsSpellAvailable[11]; |
0 | 294 }; |
295 #pragma pack(pop) | |
296 | |
297 #pragma pack(push, 1) | |
298 struct PlayerSpells | |
299 { | |
300 union | |
301 { | |
302 struct | |
303 { | |
304 PlayerSpellbookChapter pFireSpellbook; | |
305 PlayerSpellbookChapter pAirSpellbook; | |
306 PlayerSpellbookChapter pWaterSpellbook; | |
307 PlayerSpellbookChapter pEarthSpellbook; | |
308 PlayerSpellbookChapter pSpiritSpellbook; | |
309 PlayerSpellbookChapter pMindSpellbook; | |
310 PlayerSpellbookChapter pBodySpellbook; | |
311 PlayerSpellbookChapter pLightSpellbook; | |
312 PlayerSpellbookChapter pDarkSpellbook; | |
232 | 313 char _pad_0; |
0 | 314 }; |
315 struct | |
316 { | |
317 PlayerSpellbookChapter pChapters[9]; | |
232 | 318 char _pad_1; |
0 | 319 }; |
320 }; | |
321 }; | |
322 #pragma pack(pop) | |
323 | |
324 | |
325 | |
326 #pragma pack(push, 1) | |
327 union PlayerEquipment | |
328 { | |
329 union | |
330 { | |
331 struct | |
332 { | |
898 | 333 unsigned int uShield; |
0 | 334 unsigned int uMainHand; |
335 unsigned int uBow; | |
898 | 336 unsigned int uArmor; |
0 | 337 unsigned int uHelm; |
338 unsigned int uBelt; | |
339 unsigned int uCloak; | |
340 unsigned int field_1C; | |
898 | 341 unsigned int uBoot; |
0 | 342 unsigned int field_24; |
343 unsigned int field_28; | |
344 unsigned int field_2C; | |
345 unsigned int field_30; | |
346 unsigned int field_34; | |
347 unsigned int field_38; | |
348 unsigned int field_3C; | |
349 }; | |
350 unsigned int pIndices[16]; | |
351 }; | |
352 }; | |
353 #pragma pack(pop) | |
354 | |
355 | |
356 | |
357 | |
358 | |
130 | 359 enum CHARACTER_EXPRESSION_ID: unsigned __int16 |
360 { | |
361 CHARACTER_EXPRESSION_INVALID = 0, | |
362 CHARACTER_EXPRESSION_1 = 1, | |
363 CHARACTER_EXPRESSION_CURSED = 2, | |
364 CHARACTER_EXPRESSION_WEAK = 3, | |
365 CHARACTER_EXPRESSION_SLEEP = 4, | |
366 CHARACTER_EXPRESSION_FEAR = 5, | |
367 CHARACTER_EXPRESSION_DRUNK = 6, | |
368 CHARACTER_EXPRESSION_INSANE = 7, | |
369 CHARACTER_EXPRESSION_POISONED = 8, | |
370 CHARACTER_EXPRESSION_DISEASED = 9, | |
371 CHARACTER_EXPRESSION_PARALYZED = 10, | |
372 CHARACTER_EXPRESSION_UNCONCIOUS = 11, | |
373 CHARACTER_EXPRESSION_PERTIFIED = 12, | |
374 CHARACTER_EXPRESSION_13 = 13, | |
375 CHARACTER_EXPRESSION_14 = 14, | |
376 CHARACTER_EXPRESSION_15 = 15, | |
377 CHARACTER_EXPRESSION_16 = 16, | |
378 CHARACTER_EXPRESSION_17 = 17, | |
379 CHARACTER_EXPRESSION_18 = 18, | |
380 CHARACTER_EXPRESSION_19 = 19, | |
381 CHARACTER_EXPRESSION_20 = 20, | |
382 CHARACTER_EXPRESSION_21 = 21, | |
383 CHARACTER_EXPRESSION_22 = 22, | |
384 CHARACTER_EXPRESSION_23 = 23, | |
385 CHARACTER_EXPRESSION_24 = 24, | |
386 CHARACTER_EXPRESSION_25 = 25, | |
387 CHARACTER_EXPRESSION_26 = 26, | |
388 CHARACTER_EXPRESSION_27 = 27, | |
389 CHARACTER_EXPRESSION_28 = 28, | |
390 CHARACTER_EXPRESSION_29 = 29, | |
391 CHARACTER_EXPRESSION_30 = 30, | |
392 CHARACTER_EXPRESSION_31 = 31, | |
393 CHARACTER_EXPRESSION_32 = 32, | |
394 CHARACTER_EXPRESSION_33 = 33, | |
395 CHARACTER_EXPRESSION_34 = 34, | |
396 CHARACTER_EXPRESSION_35 = 35, | |
397 CHARACTER_EXPRESSION_36 = 36, | |
398 CHARACTER_EXPRESSION_37 = 37, | |
399 CHARACTER_EXPRESSION_38 = 38, | |
400 CHARACTER_EXPRESSION_39 = 39, | |
401 | |
402 // ? | |
403 | |
831 | 404 CHARACTER_EXPRESSION_SCARED = 46, // like falling |
130 | 405 |
406 CHARACTER_EXPRESSION_54 = 54, | |
407 CHARACTER_EXPRESSION_55 = 55, | |
408 CHARACTER_EXPRESSION_56 = 56, | |
409 CHARACTER_EXPRESSION_57 = 57, | |
187 | 410 CHARACTER_EXPRESSION_58 = 58, |
130 | 411 |
412 // ? | |
413 | |
414 CHARACTER_EXPRESSION_DEAD = 98, | |
415 CHARACTER_EXPRESSION_ERADICATED = 99, | |
416 }; | |
417 | |
418 | |
0 | 419 enum PLAYER_SEX: unsigned __int8 |
420 { | |
421 SEX_MALE = 0, | |
422 SEX_FEMALE = 1 | |
423 }; | |
424 | |
425 #pragma pack(push, 1) | |
426 struct Player | |
427 { | |
428 enum Condition: unsigned __int32 | |
429 { | |
430 Condition_Cursed = 0, | |
431 Condition_Weak = 1, | |
432 Condition_Sleep = 2, | |
433 Condition_Fear = 3, | |
434 Condition_Drunk = 4, | |
435 Condition_Insane = 5, | |
436 Condition_Poison1 = 6, | |
437 Condition_Disease1 = 7, | |
130 | 438 Condition_Poison2 = 8, |
0 | 439 Condition_Disease2 = 9, |
440 Condition_Poison3 = 10, | |
441 Condition_Disease3 = 11, | |
442 Condition_Paralyzed = 12, | |
443 Condition_Unconcious = 13, | |
444 Condition_Dead = 14, | |
445 Condition_Pertified = 15, | |
446 Condition_Eradicated = 16, | |
447 Condition_Zombie = 17, | |
448 Condition_Good = 18 | |
449 }; | |
450 | |
451 Player(); | |
452 | |
453 void SetVariable(enum VariableType var, signed int a3); | |
454 void AddVariable(enum VariableType var, signed int val); | |
501 | 455 bool SubtractVariable(enum VariableType VarNum, signed int pValue); |
484 | 456 bool CompareVariable(enum VariableType VarNum, signed int pValue); |
0 | 457 void UseItem_DrinkPotion_etc(signed int a2, int a3); |
458 bool AddItem(struct ItemGen *pItem); | |
459 int GetBaseStrength(); | |
460 int GetBaseIntelligence(); | |
461 int GetBaseWillpower(); | |
462 int GetBaseEndurance(); | |
463 int GetBaseAccuracy(); | |
464 int GetBaseSpeed(); | |
465 int GetBaseLuck(); | |
466 int GetBaseLevel(); | |
467 int GetActualLevel(); | |
468 int GetActualMight(); | |
469 int GetActualIntelligence(); | |
470 int GetActualWillpower(); | |
471 int GetActualEndurance(); | |
472 int GetActualAccuracy(); | |
473 int GetActualSpeed(); | |
474 int GetActualLuck(); | |
475 int GetActualAttack(int a2); | |
476 int GetMeleeDamageMinimal(); | |
477 int GetMeleeDamageMaximal(); | |
478 int CalculateMeleeDamageTo(int a2, int a3, unsigned int uTargetActorID); | |
479 int GetRangedAttack(); | |
480 int GetRangedDamageMin(); | |
481 int GetRangedDamageMax(); | |
482 bool CalculateRangedDamageTo(int a2); | |
483 char *GetMeleeDamageString(); | |
484 char *GetRangedDamageString(); | |
485 bool CanTrainToNextLevel(); | |
486 unsigned int GetExperienceDisplayColor(); | |
487 int CalculateIncommingDamage(int resistance, signed int type); | |
821 | 488 ITEM_EQUIP_TYPE GetEquippedItemEquipType(ITEM_EQUIP_TYPE uEquipSlot); |
489 PLAYER_SKILL_TYPE GetEquippedItemSkillType(ITEM_EQUIP_TYPE uEquipSlot); | |
0 | 490 bool IsUnarmed(); |
821 | 491 bool HasItemEquipped(ITEM_EQUIP_TYPE uEquipIndex); |
0 | 492 bool HasEnchantedItemEquipped(int uEnchantment); |
493 bool WearsItem(int a1, signed int a2); | |
494 bool StealFromShop(struct ItemGen *a2, int a3, int a4, int a5, int *a6); | |
495 int StealFromActor(unsigned int uActorID, int _steal_perm, int reputation); | |
496 void Heal(int amount); | |
497 int ReceiveDamage(signed int type, int resistance); | |
498 int _48DCF6(int a2, struct Actor *pActor); | |
499 unsigned int GetSpellSchool(unsigned int uSpellID); | |
816 | 500 int GetAttackRecoveryTime(bool bRangedAttack); |
0 | 501 int GetMaxHealth(); |
502 int GetMaxMana(); | |
503 int GetBaseAC(); | |
504 int GetActualAC(); | |
505 unsigned int GetBaseAge(); | |
506 unsigned int GetActualAge(); | |
507 int GetBaseResistance(enum CHARACTER_ATTRIBUTE_TYPE a2); | |
508 int GetActualResistance(enum CHARACTER_ATTRIBUTE_TYPE a2); | |
509 void SetRecoveryTime(signed int sRecoveryTime); | |
510 void RandomizeName(); | |
511 unsigned int GetMajorConditionIdx(); | |
512 int _48EA1B_get_static_effect(int a2); | |
513 int _48EA46_calc_special_bonus_by_items(int a2); | |
514 int GetItemsBonus(enum CHARACTER_ATTRIBUTE_TYPE attr, int a3); | |
515 int GetMagicalBonus(enum CHARACTER_ATTRIBUTE_TYPE a2); | |
821 | 516 char GetActualSkillLevel(PLAYER_SKILL_TYPE uSkillType); |
0 | 517 int GetSkillBonus(enum CHARACTER_ATTRIBUTE_TYPE a2); |
518 enum CHARACTER_RACE GetRace(); | |
187 | 519 PLAYER_SEX GetSexByVoice(); |
0 | 520 void SetInitialStats(); |
521 int SetSexByVoice(); | |
135 | 522 void Reset(PLAYER_CLASS_TYPE classType); |
821 | 523 PLAYER_SKILL_TYPE GetSkillIdxByOrder(signed int order); |
0 | 524 void DecreaseAttribute(int eAttribute); |
525 int IncreaseAttribute(int eAttribute); | |
526 void Player::Zero(); | |
297 | 527 unsigned int GetStatColor(int uStat); |
0 | 528 bool DiscardConditionIfLastsLongerThan(unsigned int uCondition, unsigned __int64 uTime); |
529 int _490EEE(ItemGen *pItem, int a3, int a4, int a5); | |
530 int GetBodybuilding(); | |
607 | 531 int GetMeditation(); |
0 | 532 int CanIdentify(ItemGen *pItem); |
533 int CanRepair(ItemGen *); | |
534 int GetMerchant(); | |
535 int GetPerception(); | |
536 int GetDisarmTrap(); | |
537 char GetLearningPercent(); | |
538 bool CanFitItem(unsigned int uSlot, unsigned int uItemID); | |
539 unsigned int FindFreeInventorySlot(); | |
540 int CreateItemInInventory(unsigned int uSlot, unsigned int uItemID); | |
541 int HasSkill(unsigned int uSkillType); | |
542 int WearItem(unsigned int uItemID); | |
543 int AddItem(unsigned int uSlot, unsigned int uItemID); | |
544 int AddItem2(unsigned int uSlot, ItemGen *Src); | |
545 int CreateItemInInventory2(unsigned int uSlot, ItemGen *Src); | |
546 bool _49298B(ItemGen *a2, int a3, int a4); | |
547 unsigned int RemoveItemAtInventoryIndex(unsigned int uSlot); | |
548 bool CanAct(); | |
549 bool CanSteal(); | |
550 bool CanEquip_RaceAndAlignmentCheck(unsigned int uItemID); | |
551 int SetCondition(unsigned int uConditionIdx, int a3); | |
552 int _49327B(unsigned int uClass, int a3); | |
187 | 553 void PlaySound(PlayerSpeech speech, int a3); |
554 void PlayEmotion(CHARACTER_EXPRESSION_ID expression, int a3); | |
0 | 555 char _4160CA(int a2); |
556 unsigned int GetItemIDAtInventoryIndex(int *a2); | |
557 int _4B6FF9(); | |
558 int _4B824B(float a2); | |
559 int _4B8265(int a2, float a3); | |
560 int _4B8233(int a2, float a3); | |
561 int _4B8213(int a2, float a3); | |
562 int _4B81C3(int a2, float a3); | |
563 int _4B8179(float a2); | |
749 | 564 int GetBuyingPrice(unsigned int uRealValue, float price_multiplier); |
0 | 565 int _4B8102(int a2, float a3); |
566 int _4B807C(float a2); | |
567 int _4B8040_condition_time(unsigned int uCondition); | |
568 bool _43EEF3(); | |
886 | 569 void SalesProcess(unsigned int a2, int a3, int _2devent_idx);//0x4BE2DD |
0 | 570 bool Recover(signed int a2); |
571 bool CanCastSpell(unsigned int uRequiredMana); | |
572 | |
303 | 573 inline bool Weak() {return pConditions[Condition::Condition_Weak] != 0;} |
0 | 574 inline bool Dead() {return pConditions[Condition::Condition_Dead] != 0;} |
575 inline bool Eradicated() {return pConditions[Condition::Condition_Eradicated] != 0;} | |
135 | 576 inline bool Zombie() {return pConditions[Condition::Condition_Zombie] != 0;} |
488 | 577 inline bool Cursed() {return pConditions[Condition::Condition_Cursed] != 0;} |
766 | 578 inline bool Pertified() {return pConditions[Condition::Condition_Pertified] != 0;} |
0 | 579 |
580 | |
581 | |
582 __int64 pConditions[20]; | |
583 unsigned __int64 uExperience; | |
584 char pName[16]; | |
585 PLAYER_SEX uSex; | |
135 | 586 PLAYER_CLASS_TYPE classType; |
0 | 587 unsigned __int8 uFace; |
588 char field_BB; | |
589 unsigned __int16 uMight; | |
590 unsigned __int16 uMightBonus; | |
591 unsigned __int16 uIntelligence; | |
592 unsigned __int16 uIntelligenceBonus; | |
593 unsigned __int16 uWillpower; | |
594 unsigned __int16 uWillpowerBonus; | |
595 unsigned __int16 uEndurance; | |
596 unsigned __int16 uEnduranceBonus; | |
597 unsigned __int16 uSpeed; | |
598 unsigned __int16 uSpeedBonus; | |
599 unsigned __int16 uAccuracy; | |
600 unsigned __int16 uAccuracyBonus; | |
601 unsigned __int16 uLuck; | |
602 unsigned __int16 uLuckBonus; | |
603 __int16 sACModifier; | |
604 unsigned __int16 uLevel; | |
605 __int16 sLevelModifier; | |
606 __int16 sAgeModifier; | |
607 int field_E0; | |
608 int field_E4; | |
609 int field_E8; | |
610 int field_EC; | |
611 int field_F0; | |
612 int field_F4; | |
613 int field_F8; | |
614 int field_FC; | |
615 int field_100; | |
616 int field_104; | |
617 union | |
618 { | |
619 struct | |
620 { | |
621 unsigned __int16 skillStaff; | |
622 unsigned __int16 skillSword; | |
623 unsigned __int16 skillDagger; | |
624 unsigned __int16 skillAxe; | |
625 unsigned __int16 skillSpear; | |
626 unsigned __int16 skillBow; | |
627 unsigned __int16 skillMace; | |
628 unsigned __int16 skillBlaster; | |
629 unsigned __int16 skillShield; | |
630 unsigned __int16 skillLeather; | |
631 unsigned __int16 skillChain; | |
632 unsigned __int16 skillPlate; | |
633 unsigned __int16 skillFire; | |
634 unsigned __int16 skillAir; | |
635 unsigned __int16 skillWater; | |
636 unsigned __int16 skillEarth; | |
637 unsigned __int16 skillSpirit; | |
638 unsigned __int16 skillMind; | |
639 unsigned __int16 skillBody; | |
640 unsigned __int16 skillLight; | |
641 unsigned __int16 skillDark; | |
642 unsigned __int16 skillItemId; | |
643 unsigned __int16 skillMerchant; | |
644 unsigned __int16 skillRepair; | |
645 unsigned __int16 skillBodybuilding; | |
646 unsigned __int16 skillMeditation; | |
647 unsigned __int16 skillPerception; | |
648 unsigned __int16 skillDiplomacy; | |
649 unsigned __int16 skillThievery; | |
650 unsigned __int16 skillDisarmTrap; | |
651 unsigned __int16 skillDodge; | |
652 unsigned __int16 skillUnarmed; | |
653 unsigned __int16 skillMonsterId; | |
654 unsigned __int16 skillArmsmaster; | |
655 unsigned __int16 skillStealing; | |
656 unsigned __int16 skillAlchemy; | |
657 unsigned __int16 skillLearning; | |
658 }; | |
659 unsigned __int16 pActiveSkills[37]; | |
660 }; | |
735 | 661 unsigned char _guilds_member_bits[64]; |
0 | 662 PlayerSpells spellbook; |
663 char field_1F5[30]; // used to be [31] | |
664 ItemGen pInventoryItems[126]; | |
665 ItemGen pEquippedItems[12]; | |
666 int pInventoryIndices[126]; | |
667 __int16 sResFireBase; | |
668 __int16 sResAirBase; | |
669 __int16 sResWaterBase; | |
670 __int16 sResEarthBase; | |
671 __int16 field_177C; | |
672 __int16 sResMagicBase; | |
673 __int16 sResSpiritBase; | |
674 __int16 sResMindBase; | |
675 __int16 sResBodyBase; | |
676 __int16 sResLightBase; | |
677 __int16 sResDarkBase; | |
678 __int16 sResFireBonus; | |
679 __int16 sResAirBonus; | |
680 __int16 sResWaterBonus; | |
681 __int16 sResEarthBonus; | |
682 __int16 field_1792; | |
683 __int16 sResMagicBonus; | |
684 __int16 sResSpiritBonus; | |
685 __int16 sResMindBonus; | |
686 __int16 sResBodyBonus; | |
687 __int16 sResLightBonus; | |
688 __int16 sResDarkBonus; | |
689 SpellBuff pPlayerBuffs[24]; | |
690 unsigned int uVoiceID; | |
691 int field_1924; | |
692 int field_1928; | |
693 int field_192C; | |
694 int field_1930; | |
695 unsigned __int16 uTimeToRecovery; | |
696 char field_1936; | |
697 char field_1937; | |
698 unsigned int uSkillPoints; | |
699 int sHealth; | |
700 int sMana; | |
701 unsigned int uBirthYear; | |
702 PlayerEquipment pEquipment; | |
703 int field_1988[49]; | |
704 char field_1A4C; | |
705 char field_1A4D; | |
198 | 706 char lastOpenedSpellbookPage; |
0 | 707 unsigned __int8 uQuickSpell; |
708 char field_1A50[64]; | |
709 char _some_attack_bonus; | |
710 char field_1A91; | |
711 char _melee_dmg_bonus; | |
712 char field_1A93; | |
713 char _ranged_atk_bonus; | |
714 char field_1A95; | |
715 char _ranged_dmg_bonus; | |
716 char field_1A97; | |
717 char uFullHealthBonus; | |
718 char _health_related; | |
719 char uFullManaBonus; | |
720 char _mana_related; | |
130 | 721 CHARACTER_EXPRESSION_ID expression; |
0 | 722 unsigned __int16 uExpressionTimePassed; |
723 unsigned __int16 uExpressionTimeLength; | |
724 __int16 field_1AA2; | |
554
9caf59edb1ee
Cave and Temple load and even doesn't crash (for a while).
Nomad
parents:
501
diff
changeset
|
725 int _expression21_animtime; |
9caf59edb1ee
Cave and Temple load and even doesn't crash (for a while).
Nomad
parents:
501
diff
changeset
|
726 int _expression21_frameset; |
0 | 727 LloydBeacon pInstalledBeacons[5]; |
728 char uNumDivineInterventionCastsThisDay; | |
729 char uNumArmageddonCasts; | |
730 char uNumFireSpikeCasts; | |
731 char field_1B3B; | |
732 }; | |
733 #pragma pack(pop) |