2499
|
1 #pragma once
|
|
2
|
|
3 #include <cstdint>
|
2566
|
4 #include <array>
|
2499
|
5
|
2566
|
6 #include "Spells.h"
|
2499
|
7
|
|
8 namespace CastSpellInfoHelpers
|
|
9 {
|
|
10 void _427D48();
|
|
11 void _427E01_cast_spell();
|
|
12 };
|
|
13
|
|
14 /* 271 */
|
|
15 #pragma pack(push, 1)
|
|
16 struct CastSpellInfo
|
|
17 {
|
|
18 //----- (00426987) --------------------------------------------------------
|
|
19 inline CastSpellInfo()
|
|
20 {
|
|
21 memset(this, 0, sizeof(*this));
|
|
22 }
|
|
23
|
|
24 struct GUIWindow *GetCastSpellInInventoryWindow();
|
|
25
|
|
26 uint16_t uSpellID;
|
|
27 uint16_t uPlayerID;
|
|
28 uint16_t uPlayerID_2;
|
|
29 __int16 field_6;
|
|
30 uint16_t uFlags;
|
|
31 __int16 forced_spell_skill_level;
|
|
32 int spell_target_pid;
|
|
33 int sound_id;
|
|
34 };
|
|
35 #pragma pack(pop)
|
|
36
|
2566
|
37
|
|
38 // flags
|
|
39 #define ON_CAST_WholeParty_BigImprovementAnim 0x0002
|
|
40 #define ON_CAST_TargetCrosshair 0x0008
|
|
41 #define ON_CAST_NoRecoverySpell 0x0020
|
|
42 #define ON_CAST_Telekenesis 0x0040
|
|
43 #define ON_CAST_Enchantment 0x0080
|
|
44 #define ON_CAST_MonsterSparkles 0x0100
|
|
45 #define ON_CAST_DarkSacrifice 0x0200
|
|
46 #define ON_CAST_CastingInProgress (ON_CAST_WholeParty_BigImprovementAnim | ON_CAST_TargetCrosshair | ON_CAST_Telekenesis | ON_CAST_Enchantment | ON_CAST_MonsterSparkles | ON_CAST_DarkSacrifice)
|
|
47 void _42777D_CastSpell_UseWand_ShootArrow(SPELL_TYPE spell, unsigned int uPlayerID, unsigned int a4, __int16 flags, int a6); |