annotate Spells.cpp @ 2445:b10125a9c772

fix crash in keyboard option
author Ritor1
date Thu, 24 Jul 2014 12:44:14 +0600
parents 2b10278bc7ac
children b054ea5daf45
rev   line source
2415
f4af3b203f65 LOD.cpp cleaned and search memory corrupt
Ritor1
parents: 2376
diff changeset
1 #define _CRTDBG_MAP_ALLOC
f4af3b203f65 LOD.cpp cleaned and search memory corrupt
Ritor1
parents: 2376
diff changeset
2 #include <stdlib.h>
f4af3b203f65 LOD.cpp cleaned and search memory corrupt
Ritor1
parents: 2376
diff changeset
3 #include <crtdbg.h>
f4af3b203f65 LOD.cpp cleaned and search memory corrupt
Ritor1
parents: 2376
diff changeset
4
2253
aff7a7b072b7 adding _CRT_SECURE_NO_WARNINGS to get rid of a few hundrer annoying warnings + adding count parameter to swprintf
Grumpy7
parents: 2153
diff changeset
5 #define _CRT_SECURE_NO_WARNINGS
0
Ritor1
parents:
diff changeset
6 #include <stdlib.h>
2336
d6887ee81068 header file include cleanup
Grumpy7
parents: 2334
diff changeset
7 #include "ErrorHandling.h"
0
Ritor1
parents:
diff changeset
8
Ritor1
parents:
diff changeset
9 #include "Spells.h"
Ritor1
parents:
diff changeset
10 #include "Overlays.h"
Ritor1
parents:
diff changeset
11 #include "LOD.h"
189
038a4d09406f new texts file, fix text rendender error
Gloval
parents: 142
diff changeset
12 #include "texts.h"
0
Ritor1
parents:
diff changeset
13
Ritor1
parents:
diff changeset
14 #include "mm7_data.h"
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
15 #include "Party.h"
2037
7a9477135943 Renamed Math.h -> OurMath.h (file resolution was sometimes ambiguous)
Nomad
parents: 1679
diff changeset
16 #include "OurMath.h"
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
17 #include "SpriteObject.h"
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
18 #include "ObjectList.h"
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
19 #include "Indoor.h"
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
20 #include "AudioPlayer.h"
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
21 #include "Actor.h"
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
22 #include "Game.h"
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
23 #include "stru6.h"
0
Ritor1
parents:
diff changeset
24
Ritor1
parents:
diff changeset
25
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
26 std::array<TownPortalData, 6> TownPortalList = //4ECBB8
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
27 {{
839
ae8f83e1b0cf coordinates for the town portal
x1diablo
parents: 490
diff changeset
28 {Vec3_int_(-5121, 2107, 1), 1536, 0, 21, 0},
ae8f83e1b0cf coordinates for the town portal
x1diablo
parents: 490
diff changeset
29 {Vec3_int_(-15148, -10240, 1473), 0, 0, 4, 0},
ae8f83e1b0cf coordinates for the town portal
x1diablo
parents: 490
diff changeset
30 {Vec3_int_(-10519, 5375, 753), 512, 0, 3, 0},
ae8f83e1b0cf coordinates for the town portal
x1diablo
parents: 490
diff changeset
31 {Vec3_int_(3114, -11055, 513), 0, 0, 10, 0},
ae8f83e1b0cf coordinates for the town portal
x1diablo
parents: 490
diff changeset
32 {Vec3_int_(-158, 7624, 1), 512, 0, 7, 0},
ae8f83e1b0cf coordinates for the town portal
x1diablo
parents: 490
diff changeset
33 {Vec3_int_(-1837, -4247, 65), 65, 0, 8, 0}
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
34 }} ;
0
Ritor1
parents:
diff changeset
35
Ritor1
parents:
diff changeset
36 struct SpellStats *pSpellStats;
Ritor1
parents:
diff changeset
37
Ritor1
parents:
diff changeset
38
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
39 std::array<stru324_spell, 103> stru_4E3ACC =
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
40 {{
488
Nomad
parents: 363
diff changeset
41 {10, 0},
Nomad
parents: 363
diff changeset
42 {1000, 0}, {1010, 0}, {1020, 0}, {1030, 0}, {1040, 0}, {1050, 0}, {1060, 0}, {1070, 0}, {1080, 0}, {1090, 0}, {1100, 0},
Nomad
parents: 363
diff changeset
43 {2000, 0}, {2010, 0}, {2020, 0}, {2030, 0}, {2040, 0}, {2050, 0}, {2060, 0}, {2070, 0}, {2080, 0}, {2090, 0}, {2100, 0},
Nomad
parents: 363
diff changeset
44 {3000, 0}, {3010, 0}, {3020, 0}, {3030, 0}, {3040, 0}, {3050, 0}, {3060, 0}, {3070, 0}, {3080, 0}, {3090, 0}, {3100, 0},
Nomad
parents: 363
diff changeset
45 {4000, 0}, {4010, 0}, {4020, 0}, {4030, 0}, {4040, 0}, {4050, 0}, {4060, 0}, {4070, 0}, {4080, 0}, {4090, 0}, {4100, 0},
Nomad
parents: 363
diff changeset
46 {5000, 0}, {5010, 0}, {5020, 0}, {5030, 0}, {5040, 0}, {5050, 0}, {5060, 0}, {5070, 0}, {5080, 0}, {5090, 0}, {5100, 0},
Nomad
parents: 363
diff changeset
47 {6000, 0}, {6010, 0}, {6020, 0}, {6030, 0}, {6040, 0}, {6050, 0}, {6060, 0}, {6070, 0}, {6080, 0}, {6090, 0}, {6100, 0},
Nomad
parents: 363
diff changeset
48 {7000, 0}, {7010, 0}, {7020, 0}, {7030, 0}, {7040, 0}, {7050, 0}, {7060, 0}, {7070, 0}, {7080, 0}, {7090, 0}, {7100, 0},
Nomad
parents: 363
diff changeset
49 {8000, 0}, {8010, 0}, {8020, 0}, {8030, 0}, {8040, 0}, {8050, 0}, {8060, 0}, {8070, 0}, {8080, 0}, {8090, 0}, {8100, 0},
1086
74ab0ed7e308 arrows working
zipi
parents: 1016
diff changeset
50 {9000, 0}, {9010, 0}, {9020, 0}, {9030, 0}, {9040, 0}, {9050, 0}, {9060, 0}, {9070, 0}, {9080, 0}, {9090, 0}, {9100, 0},
74ab0ed7e308 arrows working
zipi
parents: 1016
diff changeset
51 {545, 0},
74ab0ed7e308 arrows working
zipi
parents: 1016
diff changeset
52 {545, 0},
74ab0ed7e308 arrows working
zipi
parents: 1016
diff changeset
53 {555, 0}
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
54 }};
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
55
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
56
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
57
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
58 SpellData::SpellData( __int16 innormalMana, __int16 inExpertLevelMana, __int16 inMasterLevelMana, __int16 inMagisterLevelMana,
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
59 __int16 inNormalLevelRecovery, __int16 inExpertLevelRecovery, __int16 inMasterLevelRecovery, __int16 inMagisterLevelRecovery,
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
60 __int8 inbaseDamage, __int8 inbonusSkillDamage, __int16 instats ):
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
61 uNormalLevelMana(innormalMana),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
62 uExpertLevelMana(inExpertLevelMana),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
63 uMasterLevelMana(inMasterLevelMana),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
64 uMagisterLevelMana(inMagisterLevelMana),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
65 uNormalLevelRecovery(inNormalLevelRecovery),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
66 uExpertLevelRecovery(inExpertLevelRecovery),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
67 uMasterLevelRecovery(inMasterLevelRecovery),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
68 uMagisterLevelRecovery(inMagisterLevelRecovery),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
69 baseDamage(inbaseDamage),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
70 bonusSkillDamage(inbonusSkillDamage),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
71 stats(instats)
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
72 {
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
73
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
74 }
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
75
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
76 //9 spellbook pages 11 spells per page 9*11 =99 +1 zero struct at 0. It counted from 1!
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
77 std::array<SpellData, 100> pSpellDatas={{
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
78 SpellData(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
79
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
80 SpellData(1, 1, 1, 1, 60, 60, 60, 40, 0, 0, 0),//0 fire
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
81 SpellData(2, 2, 2, 2, 110, 110, 100, 90, 3, 3, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
82 SpellData(3, 3, 3, 3, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
83 SpellData(4, 4, 4, 4, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
84 SpellData(5, 5, 5, 5, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
85 SpellData(8, 8, 8, 8, 100, 100, 90, 80, 0, 6, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
86 SpellData(10, 10, 10, 10, 150, 150, 150, 150, 0, 6, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
87 SpellData(15, 15, 15, 15, 120, 120, 120, 120, 0, 6, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
88 SpellData(20, 20, 20, 20, 100, 100, 100, 90, 8, 1, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
89 SpellData(25, 25, 25, 25, 100, 100, 100, 90, 12, 1, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
90 SpellData(30, 30, 30, 30, 90, 90, 90, 90, 15, 15, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
91
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
92 SpellData(1, 1, 1, 0, 60, 60, 60, 60, 0, 0, 0), //1 air
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
93 SpellData(2, 2, 2, 2, 120, 120, 120, 100, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
94 SpellData(3, 3, 3, 3, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
95 SpellData(4, 4, 4, 4, 110, 100, 90, 80, 2, 1, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
96 SpellData(5, 5, 5, 5, 90, 90, 70, 50, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
97 SpellData(8, 8, 8, 8, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
98 SpellData(10, 10, 10, 10, 100, 100, 90, 70, 0, 8, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
99 SpellData(15, 15, 15, 15, 200, 200, 200, 200, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
100 SpellData(20, 20, 20, 20, 100, 100, 100, 90, 10, 10, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
101 SpellData(25, 25, 25, 25, 250, 250, 250, 250, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
102 SpellData(30, 30, 30, 30, 90, 90, 90, 90, 20, 1, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
103
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
104 SpellData(1, 1, 1, 1, 60, 60, 60, 20, 0, 0, 0), //2 water
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
105 SpellData(2, 2, 2, 2, 110, 100, 90, 70, 2, 2, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
106 SpellData(3, 3, 3, 3, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
107 SpellData(4, 4, 4, 4, 110, 100, 90, 80, 0, 4, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
108 SpellData(5, 5, 5, 5, 150, 150, 150, 150, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
109 SpellData(8, 8, 8, 8, 200, 200, 200, 200, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
110 SpellData(10, 10, 10, 10, 100, 100, 90, 80, 9, 9, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
111 SpellData(15, 15, 15, 15, 140, 140, 140, 140, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
112 SpellData(20, 20, 20, 20, 200, 200, 200, 200, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
113 SpellData(25, 25, 25, 25, 80, 80, 80, 80, 12, 3, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
114 SpellData(30, 30, 30, 30, 250, 250, 250, 250, 0, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
115
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
116 SpellData(1, 1, 1, 1, 80, 80, 80, 80, 0, 0, 0), //3 earth
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
117 SpellData(2, 2, 2, 2, 100, 100, 100, 100, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
118 SpellData(3, 3, 3, 3, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
119 SpellData(4, 4, 4, 4, 110, 100, 90, 80, 5, 3, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
120 SpellData(5, 5, 5, 5, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
121 SpellData(8, 8, 8, 8, 100, 100, 90, 80, 0, 9, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
122 SpellData(10, 10, 10, 10, 140, 140, 140, 140, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
123 SpellData(15, 15, 15, 15, 90, 90, 90, 80, 0, 8, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
124 SpellData(20, 20, 20, 20, 150, 150, 150, 150, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
125 SpellData(25, 25, 25, 25, 100, 100, 100, 90, 20, 1, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
126 SpellData(30, 30, 30, 30, 90, 90, 90, 90, 25, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
127
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
128 SpellData(1, 1, 1, 1, 100, 100, 100, 100, 0, 0, 0), //4 spirit
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
129 SpellData(2, 2, 2, 2, 100, 100, 100, 100, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
130 SpellData(3, 3, 3, 3, 90, 90, 90, 90, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
131 SpellData(4, 4, 4, 4, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
132 SpellData(5, 5, 5, 5, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
133 SpellData(8, 8, 8, 8, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
134 SpellData(10, 10, 10, 10, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
135 SpellData(15, 15, 15, 15, 100, 100, 100, 100, 10, 8, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
136 SpellData(20, 20, 20, 20, 240, 240, 240, 240, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
137 SpellData(25, 25, 25, 25, 150, 150, 150, 150, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
138 SpellData(30, 30, 30, 30, 1000, 1000, 1000, 1000, 0, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
139
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
140 SpellData(1, 1, 1, 1, 120, 120, 120, 120, 0, 0, 0), //5 mind
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
141 SpellData(2, 2, 2, 2, 110, 110, 110, 110, 3, 3, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
142 SpellData(3, 3, 3, 3, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
143 SpellData(4, 4, 4, 4, 110, 100, 90, 80, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
144 SpellData(5, 5, 5, 5, 100, 100, 100, 100, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
145 SpellData(8, 8, 8, 8, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
146 SpellData(10, 10, 10, 10, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
147 SpellData(15, 15, 15, 15, 80, 80, 80, 80, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
148 SpellData(20, 20, 20, 20, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
149 SpellData(25, 25, 25, 25, 110, 110, 110, 100, 12, 12, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
150 SpellData(30, 30, 30, 30, 120, 120, 120, 120, 0, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
151
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
152 SpellData(1, 1, 1, 1, 120, 120, 120, 120, 0, 0, 0), //6 body
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
153 SpellData(2, 2, 2, 2, 100, 100, 100, 100, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
154 SpellData(3, 3, 3, 3, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
155 SpellData(4, 4, 4, 4, 110, 100, 90, 80, 8, 2, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
156 SpellData(5, 5, 5, 5, 110, 110, 110, 110, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
157 SpellData(8, 8, 8, 8, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
158 SpellData(10, 10, 10, 10, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
159 SpellData(15, 15, 15, 15, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
160 SpellData(20, 20, 20, 20, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
161 SpellData(25, 25, 25, 25, 110, 110, 110, 100, 30, 5, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
162 SpellData(30, 30, 30, 30, 100, 100, 100, 100, 0, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
163
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
164 SpellData(5, 5, 5, 5, 110, 100, 90, 80, 0, 4, 0), //7 light
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
165 SpellData(10, 10, 10, 10, 120, 110, 100, 90, 16, 16, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
166 SpellData(15, 15, 15, 15, 120, 110, 100, 90, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
167 SpellData(20, 20, 20, 20, 160, 140, 120, 100, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
168 SpellData(25, 25, 25, 25, 140, 140, 140, 140, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
169 SpellData(30, 30, 30, 30, 500, 500, 500, 500, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
170 SpellData(35, 35, 35, 35, 135, 135, 120, 100, 25, 1, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
171 SpellData(40, 40, 40, 40, 500, 500, 500, 500, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
172 SpellData(45, 45, 45, 45, 250, 250, 250, 250, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
173 SpellData(50, 50, 50, 50, 150, 150, 150, 135, 20, 20, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
174 SpellData(55, 55, 55, 55, 300, 300, 300, 300, 0, 0, 0),
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
175
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
176 SpellData(10, 10, 10, 10, 140, 140, 140, 140, 0, 0, 0), //8 dark
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
177 SpellData(15, 15, 15, 15, 120, 110, 100, 90, 25, 10, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
178 SpellData(20, 20, 20, 20, 120, 100, 90, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
179 SpellData(25, 25, 25, 25, 120, 120, 120, 120, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
180 SpellData(30, 30, 30, 30, 90, 90, 80, 70, 6, 6, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
181 SpellData(35, 35, 35, 35, 120, 120, 100, 80, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
182 SpellData(40, 40, 40, 40, 110, 110, 110, 110, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
183 SpellData(45, 45, 45, 45, 200, 200, 200, 150, 0, 0, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
184 SpellData(50, 50, 50, 50, 120, 120, 120, 100, 0, 25, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
185 SpellData(55, 55, 55, 55, 250, 250, 250, 250, 50, 1, 0),
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
186 SpellData(60, 60, 60, 60, 300, 300, 300, 300, 25, 8, 0)
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
187 }};
0
Ritor1
parents:
diff changeset
188
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
189 std::array<unsigned int, 25> wand_spell_ids =
490
Nomad
parents: 488
diff changeset
190 {
Nomad
parents: 488
diff changeset
191 // 135 Wand of Fire 136 Wand of Sparks 137 Wand of Poison 138 Wand of Stunning 139 Wand of Harm
Nomad
parents: 488
diff changeset
192 SPELL_FIRE_FIRE_BOLT, SPELL_AIR_SPARKS, SPELL_WATER_POISON_SPRAY, SPELL_EARTH_STUN, SPELL_BODY_HARM,
Nomad
parents: 488
diff changeset
193 // 140 Fairy Wand of Light 141 Fairy Wand of Ice 142 Fairy Wand of Lashing 143 Fairy Wand of Mind 144 Fairy Wand of Swarms
Nomad
parents: 488
diff changeset
194 SPELL_LIGHT_LIGHT_BOLT, SPELL_WATER_ICE_BOLT, SPELL_SPIRIT_SPIRIT_LASH, SPELL_MIND_MIND_BLAST, SPELL_EARTH_DEADLY_SWARM,
Nomad
parents: 488
diff changeset
195 // 145 Alacorn Wand of Fireballs 146 Alacorn Wand of Acid 147 Alacorn Wand of Lightning 148 Alacorn Wand of Blades 149 Alacorn Wand of Charms
Nomad
parents: 488
diff changeset
196 SPELL_FIRE_FIREBALL, SPELL_WATER_ACID_BURST, SPELL_AIR_LIGHNING_BOLT, SPELL_EARTH_BLADES, SPELL_MIND_CHARM,
Nomad
parents: 488
diff changeset
197 // 150 Arcane Wand of Blasting 151 Arcane Wand of The Fist 152 Arcane Wand of Rocks 153 Arcane Wand of Paralyzing 154 Arcane Wand of Clouds
Nomad
parents: 488
diff changeset
198 SPELL_WATER_ICE_BLAST, SPELL_BODY_FLYING_FIST, SPELL_EARTH_ROCK_BLAST, SPELL_LIGHT_PARALYZE, SPELL_DARK_TOXIC_CLOUD,
Nomad
parents: 488
diff changeset
199 // 155 Mystic Wand of Implosion 156 Mystic Wand of Distortion 157 Mystic Wand of Sharpmetal 158 Mystic Wand of Shrinking 159 Mystic Wand of Incineration
Nomad
parents: 488
diff changeset
200 SPELL_AIR_IMPLOSION, SPELL_EARTH_MASS_DISTORTION, SPELL_DARK_SHARPMETAL, SPELL_DARK_SHRINKING_RAY, SPELL_FIRE_INCINERATE
Nomad
parents: 488
diff changeset
201 };
Nomad
parents: 488
diff changeset
202
Nomad
parents: 488
diff changeset
203
1205
8c02e6f74b29 arrays to std::arrays phase 2 - mm7_data.h converted
Grumpy7
parents: 1165
diff changeset
204 std::array<std::array<unsigned char, 12>, 9> pSpellbookSpellIndices = // 4E2430
8c02e6f74b29 arrays to std::arrays phase 2 - mm7_data.h converted
Grumpy7
parents: 1165
diff changeset
205 {{ //0 1 2 3 4 5 6 7 8 9 10 11
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
206 {0, 3, 1, 8, 11, 7, 4, 10, 6, 2, 5, 9},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
207 {0, 11, 2, 9, 6, 8, 5, 10, 3, 7, 1, 4},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
208 {0, 4, 8, 9, 1, 10, 3, 11, 7, 6, 2, 5},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
209 {0, 7, 10, 8, 2, 11, 1, 5, 3, 6, 4, 9},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
210 {0, 5, 10, 11, 7, 2, 8, 1, 4, 9, 3, 6},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
211 {0, 5, 9, 8, 3, 7, 6, 4, 1, 11, 2, 10},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
212 {0, 1, 6, 9, 3, 5, 8, 11, 7, 10, 4, 2},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
213 {0, 1, 10, 11, 9, 4, 3, 6, 5, 7, 8, 2},
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
214 {0, 9, 3, 7, 1, 5, 2, 10, 11, 8, 6, 4}
1205
8c02e6f74b29 arrays to std::arrays phase 2 - mm7_data.h converted
Grumpy7
parents: 1165
diff changeset
215 }};
0
Ritor1
parents:
diff changeset
216
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
217 std::array<std::array<struct SpellBookIconPos, 12>, 9> pIconPos={{
363
2bc1c8d68f41 Allocator and SpellCost Tip
Gloval
parents: 357
diff changeset
218
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
219 { 0, 0, 17, 13, 115, 2, 217, 15,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
220 299, 6, 28, 125, 130, 133, 294, 114,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
221 11, 232, 134, 233, 237, 171, 296, 231},
0
Ritor1
parents:
diff changeset
222
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
223 { 0, 0, 19, 9, 117, 3, 206, 13,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
224 285, 7, 16, 123, 113, 101, 201, 118,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
225 317, 110, 11, 230, 149, 236, 296, 234},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
226
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
227 { 0, 0, 17, 9, 140, 0, 210, 34,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
228 293, 5, 15, 98, 78, 121, 175, 136,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
229 301, 115, 15, 226, 154, 225, 272, 220},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
230
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
231 { 0, 0, 7, 9, 156, 2, 277, 9,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
232 11, 117, 111, 82, 180, 102, 303, 108,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
233 10, 229, 120, 221, 201, 217, 296, 225},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
234
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
235 { 0, 0, 18, 8, 89, 15, 192, 14,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
236 292, 7, 22, 129, 125, 146, 217, 136,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
237 305, 115, 22, 226, 174, 237, 290, 231},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
238
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
239 { 0, 0, 18, 12, 148, 9, 292, 7,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
240 17, 122, 121, 99, 220, 87, 293, 112,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
241 13, 236, 128, 213, 220, 223, 315, 223},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
242
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
243 { 0, 0, 23, 14, 127, 8, 204, 0,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
244 306, 8, 14, 115, 122, 132, 200, 116,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
245 293, 122, 20, 228, 154, 228, 294, 239},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
246
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
247 { 0, 0, 19, 14, 124, 10, 283, 12,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
248 8, 105, 113, 89, 190, 82, 298, 108,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
249 18, 181, 101, 204, 204, 203, 285, 218},
357
b07cf89108d5 Spell positions in book
Gloval
parents: 210
diff changeset
250
1206
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
251 { 0, 0, 18, 17, 110, 16, 201, 15,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
252 307, 15, 18, 148, 125, 166, 201, 123,
ab6560001f5b arrays to std::arrays phase 2 - some more arrays converted
Grumpy7
parents: 1205
diff changeset
253 275, 120, 28, 235, 217, 222, 324, 216}}};
0
Ritor1
parents:
diff changeset
254
Ritor1
parents:
diff changeset
255
Ritor1
parents:
diff changeset
256 //----- (0042EB31) --------------------------------------------------------
Ritor1
parents:
diff changeset
257 bool SpellBuff::NotExpired()
Ritor1
parents:
diff changeset
258 {
189
038a4d09406f new texts file, fix text rendender error
Gloval
parents: 142
diff changeset
259 return (signed __int64)this->uExpireTime > 0 ? true:false;
0
Ritor1
parents:
diff changeset
260 }
Ritor1
parents:
diff changeset
261
Ritor1
parents:
diff changeset
262
Ritor1
parents:
diff changeset
263 //----- (00458585) --------------------------------------------------------
Ritor1
parents:
diff changeset
264 void SpellBuff::Reset()
Ritor1
parents:
diff changeset
265 {
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
266 uSkill = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
267 uPower = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
268 uExpireTime = 0i64;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
269 uCaster = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
270 uFlags = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
271 if (uOverlayID)
0
Ritor1
parents:
diff changeset
272 {
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
273 pOtherOverlayList->pOverlays[uOverlayID - 1].Reset();
142
8b8fd4d83fdc Various things here and there
Nomad
parents: 0
diff changeset
274 pOtherOverlayList->bRedraw = true;
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
275 uOverlayID = 0;
0
Ritor1
parents:
diff changeset
276 }
Ritor1
parents:
diff changeset
277 }
Ritor1
parents:
diff changeset
278
Ritor1
parents:
diff changeset
279 //----- (004585CA) --------------------------------------------------------
1340
22cb507446a4 turnengine refactoring continue
Gloval
parents: 1306
diff changeset
280 bool SpellBuff::IsBuffExpiredToTime( __int64 time_end )
22cb507446a4 turnengine refactoring continue
Gloval
parents: 1306
diff changeset
281 {
22cb507446a4 turnengine refactoring continue
Gloval
parents: 1306
diff changeset
282 if (uExpireTime && (uExpireTime < time_end))
0
Ritor1
parents:
diff changeset
283 {
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
284 uExpireTime = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
285 uPower = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
286 uSkill = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
287 uOverlayID = 0;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
288 return true;
0
Ritor1
parents:
diff changeset
289 }
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
290 return false;
0
Ritor1
parents:
diff changeset
291 }
Ritor1
parents:
diff changeset
292
Ritor1
parents:
diff changeset
293 //----- (004584E0) --------------------------------------------------------
1340
22cb507446a4 turnengine refactoring continue
Gloval
parents: 1306
diff changeset
294 bool SpellBuff::Apply( signed __int64 uExpireTime, unsigned __int16 uSkillLevel, unsigned __int16 uPower, int uOverlayID, unsigned __int8 caster )
22cb507446a4 turnengine refactoring continue
Gloval
parents: 1306
diff changeset
295 {
22cb507446a4 turnengine refactoring continue
Gloval
parents: 1306
diff changeset
296 if (this->uExpireTime && (uExpireTime < this->uExpireTime))
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
297 return false;
0
Ritor1
parents:
diff changeset
298
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
299 this->uSkill = uSkillLevel;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
300 this->uPower = uPower;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
301 this->uExpireTime = uExpireTime;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
302 if (this->uOverlayID && this->uOverlayID != uOverlayID)
0
Ritor1
parents:
diff changeset
303 {
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
304 pOtherOverlayList->pOverlays[this->uOverlayID - 1].Reset();
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
305 pOtherOverlayList->bRedraw = true;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
306 this->uOverlayID = 0;
0
Ritor1
parents:
diff changeset
307 }
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
308 this->uOverlayID = uOverlayID;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
309 this->uCaster = caster;
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
310
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
311 return true;
0
Ritor1
parents:
diff changeset
312 }
Ritor1
parents:
diff changeset
313
Ritor1
parents:
diff changeset
314 //----- (0045384A) --------------------------------------------------------
Ritor1
parents:
diff changeset
315 void SpellStats::Initialize()
982
08fd1436ef35 enums & lod
Nomad
parents: 910
diff changeset
316 {
2282
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
317 std::map<std::string, SPELL_SCHOOL, ci_less> spellSchoolMaps;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
318 spellSchoolMaps["fire"] = SPELL_SCHOOL_FIRE;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
319 spellSchoolMaps["air"] = SPELL_SCHOOL_AIR;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
320 spellSchoolMaps["water"] = SPELL_SCHOOL_WATER;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
321 spellSchoolMaps["earth"] = SPELL_SCHOOL_EARTH;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
322 spellSchoolMaps["spirit"] = SPELL_SCHOOL_SPIRIT;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
323 spellSchoolMaps["mind"] = SPELL_SCHOOL_MIND;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
324 spellSchoolMaps["body"] = SPELL_SCHOOL_BODY;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
325 spellSchoolMaps["light"] = SPELL_SCHOOL_LIGHT;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
326 spellSchoolMaps["dark"] = SPELL_SCHOOL_DARK;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
327 spellSchoolMaps["magic"] = SPELL_SCHOOL_MAGIC;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
328
191
4813b57396ba spell init in progress
Gloval
parents: 189
diff changeset
329 char* test_string;
189
038a4d09406f new texts file, fix text rendender error
Gloval
parents: 142
diff changeset
330
2369
bddcaf5d5db2 removing non-nullptr conditions before frees, chaning 0 and NULL assignmnets to pointers to nullptr assignments
Grumpy7
parents: 2340
diff changeset
331 free(pSpellsTXT_Raw);
bddcaf5d5db2 removing non-nullptr conditions before frees, chaning 0 and NULL assignmnets to pointers to nullptr assignments
Grumpy7
parents: 2340
diff changeset
332 pSpellsTXT_Raw = (char *)pEvents_LOD->LoadRaw("spells.txt", 0);
189
038a4d09406f new texts file, fix text rendender error
Gloval
parents: 142
diff changeset
333
191
4813b57396ba spell init in progress
Gloval
parents: 189
diff changeset
334 strtok(pSpellsTXT_Raw, "\r");
4813b57396ba spell init in progress
Gloval
parents: 189
diff changeset
335 for(int i=1; i<100; ++i)
2440
2b10278bc7ac some more memory access fixed
Grumpy7
parents: 2415
diff changeset
336 {
2b10278bc7ac some more memory access fixed
Grumpy7
parents: 2415
diff changeset
337 if ((i % (11 - 1) )==0)
2b10278bc7ac some more memory access fixed
Grumpy7
parents: 2415
diff changeset
338 strtok(NULL, "\r");
2282
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
339 test_string=strtok(NULL, "\r")+1;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
340 auto tokens = Tokenize(test_string, '\t');
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
341 pInfos[i].pName=RemoveQuotes(tokens[2]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
342 auto findResult = spellSchoolMaps.find(tokens[3]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
343 pInfos[i].uSchool = findResult == spellSchoolMaps.end() ? SPELL_SCHOOL_NONE : findResult->second;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
344 pInfos[i].pShortName=RemoveQuotes(tokens[4]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
345 pInfos[i].pDescription=RemoveQuotes(tokens[5]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
346 pInfos[i].pBasicSkillDesc=RemoveQuotes(tokens[6]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
347 pInfos[i].pExpertSkillDesc=RemoveQuotes(tokens[7]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
348 pInfos[i].pMasterSkillDesc=RemoveQuotes(tokens[8]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
349 pInfos[i].pGrandmasterSkillDesc=RemoveQuotes(tokens[9]);
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
350 pSpellDatas[i].stats |= strchr(tokens[10], 'm') || strchr(tokens[10], 'M') ? 1 : 0;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
351 pSpellDatas[i].stats |= strchr(tokens[10], 'e') || strchr(tokens[10], 'E') ? 2 : 0;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
352 pSpellDatas[i].stats |= strchr(tokens[10], 'c') || strchr(tokens[10], 'C') ? 4 : 0;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
353 pSpellDatas[i].stats |= strchr(tokens[10], 'x') || strchr(tokens[10], 'X') ? 8 : 0;
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
354 }
f5680ba9c96d SpellStats::Initialize using tokenizer
Grumpy7
parents: 2253
diff changeset
355 }
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
356 //----- (00448DF8) --------------------------------------------------------
1519
4c787c28ddce Clean CastSpellInfo. (2)
yoctozepto
parents: 1362
diff changeset
357 void __fastcall EventCastSpell(int uSpellID, int uSkillLevel, int uSkill, int fromx, int fromy, int fromz, int tox, int toy, int toz)//sub_448DF8
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
358 {
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
359 int v9; // esi@1
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
360 signed __int64 v10; // st7@4
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
361 signed __int64 v11; // st6@4
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
362 signed __int64 v12; // st5@4
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
363 double v13; // st7@6
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
364 int v14; // ST44_4@7
2326
c889e521af1f some EventCastSpell cleanups - removing labels, changing some numbers to enums
Grumpy7
parents: 2323
diff changeset
365 uint skillMasteryPlusOne; // ebx@9
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
366 uint v16; // edx@15
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
367 int i; // esi@42
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
368 int j; // esi@60
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
369 unsigned __int64 v36; // qax@99
2334
ddb803517a48 unused local variables I commented
Ritor1
parents: 2329
diff changeset
370 // SpellBuff *v37; // ecx@99
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
371 int v38; // esi@103
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
372 signed __int64 v39; // qax@105
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
373 int v42; // esi@111
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
374 int v43; // ebx@111
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
375 int v47; // [sp-4h] [bp-B8h]@35
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
376 int v49; // [sp+0h] [bp-B4h]@35
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
377 int v55; // [sp+28h] [bp-8Ch]@7
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
378 unsigned int yaw; // [sp+30h] [bp-84h]@7
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
379 int pitch; // [sp+34h] [bp-80h]@7
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
380 int v60; // [sp+ACh] [bp-8h]@1
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
381 int a6_4; // [sp+C8h] [bp+14h]@117
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
382 int a7c; // [sp+CCh] [bp+18h]@29
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
383 int a7d; // [sp+CCh] [bp+18h]@55
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
384 signed __int64 xSquared; // [sp+D0h] [bp+1Ch]@6
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
385 int a8b; // [sp+D0h] [bp+1Ch]@37
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
386 int a8c; // [sp+D0h] [bp+1Ch]@55
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
387 signed __int64 ySquared; // [sp+D4h] [bp+20h]@6
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
388
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
389 v9 = 0;
2326
c889e521af1f some EventCastSpell cleanups - removing labels, changing some numbers to enums
Grumpy7
parents: 2323
diff changeset
390 skillMasteryPlusOne = uSkillLevel + 1;
1519
4c787c28ddce Clean CastSpellInfo. (2)
yoctozepto
parents: 1362
diff changeset
391 //spellnum_ = uSpellID;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
392 v60 = 0;
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
393 if ( tox || toy || toz )
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
394 {
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
395 v10 = tox - fromx;
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
396 v11 = toy - fromy;
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
397 v12 = toz - fromz;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
398 }
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
399 else
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
400 {
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
401 v10 = pParty->vPosition.x - fromx;
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
402 v11 = pParty->vPosition.y - fromy;
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
403 v12 = (pParty->vPosition.z + pParty->sEyelevel) - fromz;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
404 }
2375
14c05b876218 sqrt(float, double)
Ritor1
parents: 2340
diff changeset
405 v13 = sqrt(long double(v10 * v10 + v11 * v11 + v12 * v12));
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
406 if ( v13 <= 1.0 )
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
407 {
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
408 v55 = 1;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
409 yaw = 0;
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
410 pitch = 0;
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
411 }
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
412 else
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
413 {
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
414 v55 = (int)v13;
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
415 ySquared = v11 * v11;
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
416 xSquared = v10 * v10;
2375
14c05b876218 sqrt(float, double)
Ritor1
parents: 2340
diff changeset
417 v14 = (int)sqrt(long double(xSquared + ySquared));
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
418 yaw = stru_5C6E00->Atan2((int)v10, (int)v11);
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
419 pitch = stru_5C6E00->Atan2(v14, (int)v12);
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
420 }
2326
c889e521af1f some EventCastSpell cleanups - removing labels, changing some numbers to enums
Grumpy7
parents: 2323
diff changeset
421 Assert(skillMasteryPlusOne > 0 && skillMasteryPlusOne <= 4, "Invalid mastery level");
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
422
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
423 SpriteObject a1; // [sp+38h] [bp-7Ch]@12
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
424 //SpriteObject::SpriteObject(&a1);
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
425
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
426 switch ( uSpellID )
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
427 {
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
428 case SPELL_FIRE_FIRE_BOLT:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
429 case SPELL_FIRE_FIREBALL:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
430 case SPELL_AIR_LIGHNING_BOLT:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
431 case SPELL_WATER_ICE_BOLT:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
432 case SPELL_WATER_ACID_BURST:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
433 case SPELL_WATER_ICE_BLAST:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
434 case SPELL_EARTH_BLADES:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
435 case SPELL_EARTH_ROCK_BLAST:
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
436 case SPELL_WATER_POISON_SPRAY:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
437 case SPELL_AIR_SPARKS:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
438 case SPELL_EARTH_DEATH_BLOSSOM:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
439 a1.uType = stru_4E3ACC[uSpellID].uType;
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
440 a1.stru_24.Reset();
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
441 a1.spell_id = uSpellID;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
442 a1.spell_level = uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
443 a1.spell_skill = skillMasteryPlusOne;
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
444 v16 = 0;
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
445 while (v16 < pObjectList->uNumObjects)
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
446 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
447 if ( a1.uType == pObjectList->pObjects[v16].uObjectID)
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
448 {
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
449 break;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
450 }
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
451 v16++;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
452 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
453 a1.uObjectDescID = v16;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
454 a1.vPosition.x = fromx;
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
455 a1.vPosition.y = fromy;
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
456 a1.vPosition.z = fromz;
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
457 a1.uAttributes = 16;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
458 a1.uSectorID = pIndoor->GetSector(fromx, fromy, fromz);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
459 a1.field_60_distance_related_prolly_lod = v55;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
460 a1.uSpriteFrameID = 0;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
461 a1.spell_caster_pid = 8000 | OBJECT_Item;
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
462 a1.uSoundID = 0;
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
463 break;
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
464 }
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
465
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
466 switch ( uSpellID )
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
467 {
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
468 case SPELL_FIRE_FIRE_BOLT:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
469 case SPELL_FIRE_FIREBALL:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
470 case SPELL_AIR_LIGHNING_BOLT:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
471 case SPELL_WATER_ICE_BOLT:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
472 case SPELL_WATER_ACID_BURST:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
473 case SPELL_WATER_ICE_BLAST:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
474 case SPELL_EARTH_BLADES:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
475 case SPELL_EARTH_ROCK_BLAST:
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
476 //v20 = yaw;
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
477 a1.spell_target_pid = 0;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
478 a1.uFacing = yaw;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
479 a1.uSoundID = 0;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
480 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
481 a1.Create(yaw, pitch, v49, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
482 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
483 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
484 case SPELL_WATER_POISON_SPRAY:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
485 switch ( skillMasteryPlusOne )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
486 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
487 case 1:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
488 v60 = 1;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
489 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
490 case 2:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
491 v60 = 3;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
492 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
493 case 3:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
494 v60 = 5;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
495 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
496 case 4:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
497 v60 = 7;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
498 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
499 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
500 a1.spell_target_pid = 0;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
501 a1.uFacing = yaw;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
502 if ( v60 == 1 )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
503 {
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
504 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed;
2101
ee2724b9ca05 RasterLine2D fix and etc.
Ritor1
parents: 2037
diff changeset
505 a1.Create(yaw, pitch, v49, 0);
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
506 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
507 else
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
508 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
509 a7c = (signed int)(60 * stru_5C6E00->uIntegerDoublePi) / 360;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
510 a8b = a7c / (v60 - 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
511 for ( i = a7c / -2; i <= a7c / 2; i += a8b )
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
512 {
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
513 a1.uFacing = i + yaw;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
514 a1.Create((signed __int16)(i + (short)yaw), pitch, pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed, 0);
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
515 }
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
516 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
517 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
518 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
519 case SPELL_AIR_SPARKS:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
520 switch ( skillMasteryPlusOne )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
521 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
522 case 1:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
523 v60 = 3;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
524 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
525 case 2:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
526 v60 = 5;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
527 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
528 case 3:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
529 v60 = 7;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
530 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
531 case 4:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
532 v60 = 9;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
533 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
534 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
535 a7d = (signed int)(60 * stru_5C6E00->uIntegerDoublePi) / 360;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
536 a8c = (signed int)(60 * stru_5C6E00->uIntegerDoublePi) / 360 / (v60 - 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
537 a1.spell_target_pid = 4;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
538 for ( j = a7d / -2; j <= a7d / 2; j += a8c )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
539 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
540 a1.uFacing = j + yaw;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
541 a1.Create((signed __int16)(j + (short)yaw), pitch, pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
542 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
543 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
544 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
545 case SPELL_EARTH_DEATH_BLOSSOM:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
546 if ( uCurrentlyLoadedLevelType == LEVEL_Indoor )
2101
ee2724b9ca05 RasterLine2D fix and etc.
Ritor1
parents: 2037
diff changeset
547 return;
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
548 a1.spell_target_pid = 4;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
549 v49 = pObjectList->pObjects[(signed __int16)a1.uObjectDescID].uSpeed;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
550 v47 = (signed int)stru_5C6E00->uIntegerHalfPi / 2;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
551 a1.Create(yaw, v47, v49, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
552 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
553 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
554
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
555 case SPELL_FIRE_HASTE:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
556 if ( skillMasteryPlusOne > 0 )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
557 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
558 if ( skillMasteryPlusOne <= 2 )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
559 v9 = 60 * (uSkill + 60);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
560 else if ( skillMasteryPlusOne == 3 )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
561 v9 = 180 * (uSkill + 20);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
562 else if ( skillMasteryPlusOne == 4 )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
563 v9 = 240 * (uSkill + 15);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
564 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
565 for (uint i = 0; i < 4; ++i)
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
566 if (pParty->pPlayers[i].IsWeak())
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
567 return;
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
568 pParty->pPartyBuffs[PARTY_BUFF_HASTE].Apply(pParty->uTimePlayed + (signed int)(signed __int64)((double)(v9 * 128) * 0.033333335), skillMasteryPlusOne, 0, 0, 0);
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
569 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
570 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
571 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 2);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
572 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 3);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
573 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);//çâóê àëòàðÿ
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
574 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
575 case SPELL_AIR_SHIELD:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
576 case SPELL_EARTH_STONESKIN:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
577 case SPELL_SPIRIT_HEROISM:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
578 switch ( skillMasteryPlusOne )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
579 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
580 case 1:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
581 case 2:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
582 v9 = 300 * (uSkill + 12);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
583 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
584 case 3:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
585 v9 = 900 * (uSkill + 4);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
586 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
587 case 4:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
588 v9 = 3600 * (uSkill + 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
589 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
590 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
591 switch ( uSpellID )
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
592 {
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
593 case SPELL_AIR_SHIELD:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
594 v60 = 0;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
595 uSkill = 14;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
596 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
597 case SPELL_EARTH_STONESKIN:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
598 v60 = uSkill + 5;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
599 uSkill = 15;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
600 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
601 case SPELL_SPIRIT_HEROISM:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
602 v60 = uSkill + 5;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
603 uSkill = 9;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
604 break;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
605 }
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
606 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
607 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
608 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 2);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
609 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 3);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
610 v36 = pParty->uTimePlayed + (signed int)(signed __int64)((double)(v9 << 7) * 0.033333335);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
611 pParty->pPartyBuffs[uSkill].Apply(v36, skillMasteryPlusOne, v60, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
612 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
613 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
614 case SPELL_FIRE_IMMOLATION:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
615 if (skillMasteryPlusOne == 4)
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
616 v38 = 600 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
617 else
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
618 v38 = 60 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
619 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
620 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
621 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 2);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
622 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 3);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
623 v39 = (signed __int64)((double)(v38 << 7) * 0.033333335);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
624 v36 = pParty->uTimePlayed + v39;
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
625 pParty->pPartyBuffs[PARTY_BUFF_IMMOLATION].Apply(v36, skillMasteryPlusOne, uSkill, 0, 0);
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
626 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
627 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
628 case SPELL_FIRE_PROTECTION_FROM_FIRE:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
629 case SPELL_AIR_PROTECTION_FROM_AIR:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
630 case SPELL_WATER_PROTECTION_FROM_WATER:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
631 case SPELL_EARTH_PROTECTION_FROM_EARTH:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
632 case SPELL_MIND_PROTECTION_FROM_MIND:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
633 case SPELL_BODY_PROTECTION_FROM_BODY:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
634 a6_4 = 3600 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
635 switch (skillMasteryPlusOne)
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
636 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
637 case 1:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
638 v60 = uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
639 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
640 case 2:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
641 v60 = 2 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
642 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
643 case 3:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
644 v60 = 3 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
645 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
646 case 4:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
647 v60 = 4 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
648 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
649 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
650 switch ( uSpellID )
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
651 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
652 case SPELL_FIRE_PROTECTION_FROM_FIRE:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
653 uSkill = PARTY_BUFF_RESIST_FIRE;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
654 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
655 case SPELL_AIR_PROTECTION_FROM_AIR:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
656 uSkill = PARTY_BUFF_RESIST_AIR;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
657 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
658 case SPELL_WATER_PROTECTION_FROM_WATER:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
659 uSkill = PARTY_BUFF_RESIST_WATER;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
660 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
661 case SPELL_EARTH_PROTECTION_FROM_EARTH:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
662 uSkill = PARTY_BUFF_RESIST_EARTH;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
663 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
664 case SPELL_MIND_PROTECTION_FROM_MIND:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
665 uSkill = PARTY_BUFF_RESIST_MIND;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
666 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
667 case SPELL_BODY_PROTECTION_FROM_BODY:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
668 uSkill = PARTY_BUFF_RESIST_BODY;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
669 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
670 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
671 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
672 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
673 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 2);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
674 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 3);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
675 pParty->pPartyBuffs[uSkill].Apply(pParty->uTimePlayed + (signed int)(signed __int64)((double)a6_4 * 4.2666669), skillMasteryPlusOne, v60, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
676 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
677 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
678 case SPELL_LIGHT_DAY_OF_THE_GODS :
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
679 switch (skillMasteryPlusOne)
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
680 {
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
681 case 2:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
682 v42 = 10800 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
683 v43 = 3 * uSkill + 10;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
684 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
685 case 3:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
686 v42 = 18000 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
687 v43 = 5 * uSkill + 10;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
688 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
689 case 4:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
690 v42 = 14400 * uSkill;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
691 v43 = 4 * uSkill + 10;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
692 break;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
693 }
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
694 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
695 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 1);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
696 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 2);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
697 pGame->pStru6Instance->SetPlayerBuffAnim(uSpellID, 3);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
698 v39 = (signed __int64)((double)(v42 << 7) * 0.033333335);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
699 v36 = pParty->uTimePlayed + v39;
2329
4791895e4396 EventCastSpell extracting comming code from projectile spell events
Grumpy7
parents: 2328
diff changeset
700 pParty->pPartyBuffs[PARTY_BUFF_DAY_OF_GODS].Apply(v36, skillMasteryPlusOne, v43, 0, 0);
2327
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
701 pAudioPlayer->PlaySound((SoundID)word_4EE088_sound_ids[uSpellID], 0, 0, fromx, fromy, 0, 0, 0);
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
702 return;
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
703 default:
5e4d90305d06 EventCastSpell removing duplicate code for handling empty pObjectList->pObjects array or not finding the correct value + moving everything into the main switch
Grumpy7
parents: 2326
diff changeset
704 return;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
705 }
1296
c423f946dc99 moving files continue
Ritor1
parents: 1295
diff changeset
706 }
c423f946dc99 moving files continue
Ritor1
parents: 1295
diff changeset
707 //----- (00427769) --------------------------------------------------------
2107
85e9766d6124 sub_427769_spell to sub_427769_isSpellQuickCastableOnShiftClick
Grumpy7
parents: 2037
diff changeset
708 bool sub_427769_isSpellQuickCastableOnShiftClick(unsigned int uSpellID)
1296
c423f946dc99 moving files continue
Ritor1
parents: 1295
diff changeset
709 {
2328
04efed9483ff EventCastSpell removing unused vars
Grumpy7
parents: 2327
diff changeset
710 return ( pSpellDatas[uSpellID].stats & 0xC ) != 0;
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
711 }
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
712 //----- (0043AFE3) --------------------------------------------------------
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
713 int _43AFE3_calc_spell_damage(int spellId, int spellLevel, signed int skillMastery, int currentHp)
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
714 {
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
715 int result; // eax@1
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
716 unsigned int v5; // [sp-4h] [bp-8h]@9
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
717
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
718 result = 0;
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
719 if ( spellId == SPELL_FIRE_FIRE_SPIKE )
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
720 {
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
721 switch (skillMastery)
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
722 {
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
723 case 1:
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
724 case 2:
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
725 v5 = 6;
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
726 case 3:
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
727 v5 = 8;
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
728 case 4:
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
729 v5 = 10;
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
730 default:
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
731 return 0;
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
732 }
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
733 result = GetDiceResult(spellLevel, v5);
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
734 }
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
735 else if ( spellId == SPELL_EARTH_MASS_DISTORTION )
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
736 result = currentHp * (pSpellDatas[SPELL_EARTH_MASS_DISTORTION].baseDamage + 2 * spellLevel) / 100;
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
737 else
2323
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
738 result = pSpellDatas[spellId].baseDamage
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
739 + GetDiceResult(spellLevel, pSpellDatas[spellId].bonusSkillDamage);
983b8c995127 _43AFE3_calc_spell_damage moved to spells.h, cleaned it up a bit
Grumpy7
parents: 2282
diff changeset
740
1297
5450af4f57ef moving files mm7_x ending
Ritor1
parents: 1296
diff changeset
741 return result;
1295
86a83e12d795 moving files
Ritor1
parents: 1206
diff changeset
742 }