Devilution
Diablo devolved - magic behind the 1996 computer game
spelldat.cpp
Go to the documentation of this file.
1 #include "all.h"
2 
4 
7  // clang-format off
8  // sName, sManaCost, sType, sNameText, sSkillText, sBookLvl, sStaffLvl, sTargeted, sTownSpell, sMinInt, sSFX, sMissiles[3], sManaAdj, sMinMana, sStaffMin, sStaffMax, sBookCost, sStaffCost
9  { SPL_NULL, 0, 0, NULL, NULL, 0, 0, FALSE, FALSE, 0, 0, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 },
10  { SPL_FIREBOLT, 6, STYPE_FIRE, "Firebolt", "Firebolt", 1, 1, TRUE, FALSE, 15, IS_CAST2, { MIS_FIREBOLT, 0, 0 }, 1, 3, 40, 80, 1000, 50 },
11  { SPL_HEAL, 5, STYPE_MAGIC, "Healing", NULL, 1, 1, FALSE, TRUE, 17, IS_CAST8, { MIS_HEAL, 0, 0 }, 3, 1, 20, 40, 1000, 50 },
12  { SPL_LIGHTNING, 10, STYPE_LIGHTNING, "Lightning", NULL, 4, 3, TRUE, FALSE, 20, IS_CAST4, { MIS_LIGHTCTRL, 0, 0 }, 1, 6, 20, 60, 3000, 150 },
13  { SPL_FLASH, 30, STYPE_LIGHTNING, "Flash", NULL, 5, 4, FALSE, FALSE, 33, IS_CAST4, { MIS_FLASH, MIS_FLASH2, 0 }, 2, 16, 20, 40, 7500, 500 },
14  { SPL_IDENTIFY, 13, STYPE_MAGIC, "Identify", "Identify", -1, -1, FALSE, TRUE, 23, IS_CAST6, { MIS_IDENTIFY, 0, 0 }, 2, 1, 8, 12, 0, 100 },
15  { SPL_FIREWALL, 28, STYPE_FIRE, "Fire Wall", NULL, 3, 2, TRUE, FALSE, 27, IS_CAST2, { MIS_FIREWALLC, 0, 0 }, 2, 16, 8, 16, 6000, 400 },
16  { SPL_TOWN, 35, STYPE_MAGIC, "Town Portal", NULL, 3, 3, TRUE, FALSE, 20, IS_CAST6, { MIS_TOWN, 0, 0 }, 3, 18, 8, 12, 3000, 200 },
17 #ifndef SPAWN
18  { SPL_STONE, 60, STYPE_MAGIC, "Stone Curse", NULL, 6, 5, TRUE, FALSE, 51, IS_CAST2, { MIS_STONE, 0, 0 }, 3, 40, 8, 16, 12000, 800 },
19 #else
20  { SPL_STONE, 60, STYPE_MAGIC, "Stone Curse", NULL, -1, -1, TRUE, FALSE, 51, IS_CAST2, { MIS_STONE, 0, 0 }, 3, 40, 8, 16, 12000, 800 },
21 #endif
22  { SPL_INFRA, 40, STYPE_MAGIC, "Infravision", NULL, -1, -1, FALSE, FALSE, 36, IS_CAST8, { MIS_INFRA, 0, 0 }, 5, 20, 0, 0, 0, 600 },
23  { SPL_RNDTELEPORT, 12, STYPE_MAGIC, "Phasing", NULL, 7, 6, FALSE, FALSE, 39, IS_CAST2, { MIS_RNDTELEPORT, 0, 0 }, 2, 4, 40, 80, 3500, 200 },
24  { SPL_MANASHIELD, 33, STYPE_MAGIC, "Mana Shield", NULL, 6, 5, FALSE, FALSE, 25, IS_CAST2, { MIS_MANASHIELD, 0, 0 }, 0, 33, 4, 10, 16000, 1200 },
25  { SPL_FIREBALL, 16, STYPE_FIRE, "Fireball", NULL, 8, 7, TRUE, FALSE, 48, IS_CAST2, { MIS_FIREBALL, 0, 0 }, 1, 10, 40, 80, 8000, 300 },
26 #ifndef SPAWN
27  { SPL_GUARDIAN, 50, STYPE_FIRE, "Guardian", NULL, 9, 8, TRUE, FALSE, 61, IS_CAST2, { MIS_GUARDIAN, 0, 0 }, 2, 30, 16, 32, 14000, 950 },
28 #else
29  { SPL_GUARDIAN, 50, STYPE_FIRE, "Guardian", NULL, -1, -1, TRUE, FALSE, 61, IS_CAST2, { MIS_GUARDIAN, 0, 0 }, 2, 30, 16, 32, 14000, 950 },
30 #endif
31  { SPL_CHAIN, 30, STYPE_LIGHTNING, "Chain Lightning", NULL, 8, 7, FALSE, FALSE, 54, IS_CAST2, { MIS_CHAIN, 0, 0 }, 1, 18, 20, 60, 11000, 750 },
32  { SPL_WAVE, 35, STYPE_FIRE, "Flame Wave", NULL, 9, 8, TRUE, FALSE, 54, IS_CAST2, { MIS_WAVE, 0, 0 }, 3, 20, 20, 40, 10000, 650 },
33  { SPL_DOOMSERP, 0, STYPE_LIGHTNING, "Doom Serpents", NULL, -1, -1, FALSE, FALSE, 0, IS_CAST2, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 },
34  { SPL_BLODRIT, 0, STYPE_MAGIC, "Blood Ritual", NULL, -1, -1, FALSE, FALSE, 0, IS_CAST2, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 },
35  { SPL_NOVA, 60, STYPE_MAGIC, "Nova", NULL, -1, 10, FALSE, FALSE, 87, IS_CAST4, { MIS_NOVA, 0, 0 }, 3, 35, 16, 32, 21000, 1300 },
36  { SPL_INVISIBIL, 0, STYPE_MAGIC, "Invisibility", NULL, -1, -1, FALSE, FALSE, 0, IS_CAST2, { 0, 0, 0 }, 0, 0, 40, 80, 0, 0 },
37  { SPL_FLAME, 11, STYPE_FIRE, "Inferno", NULL, 3, 2, TRUE, FALSE, 20, IS_CAST2, { MIS_FLAMEC, 0, 0 }, 1, 6, 20, 40, 2000, 100 },
38 #ifndef SPAWN
39  { SPL_GOLEM, 100, STYPE_FIRE, "Golem", NULL, 11, 9, FALSE, FALSE, 81, IS_CAST2, { MIS_GOLEM, 0, 0 }, 6, 60, 16, 32, 18000, 1100 },
40 #else
41  { SPL_GOLEM, 100, STYPE_FIRE, "Golem", NULL, -1, -1, FALSE, FALSE, 81, IS_CAST2, { MIS_GOLEM, 0, 0 }, 6, 60, 16, 32, 18000, 1100 },
42 #endif
43  { SPL_BLODBOIL, 0, STYPE_LIGHTNING, "Blood Boil", NULL, -1, -1, TRUE, FALSE, 0, IS_CAST8, { 0, 0, 0 }, 0, 0, 0, 0, 0, 0 },
44  { SPL_TELEPORT, 35, STYPE_MAGIC, "Teleport", NULL, 14, 12, TRUE, FALSE, 105, IS_CAST6, { MIS_TELEPORT, 0, 0 }, 3, 15, 16, 32, 20000, 1250 },
45 #ifndef SPAWN
46  { SPL_APOCA, 150, STYPE_FIRE, "Apocalypse", NULL, -1, 15, FALSE, FALSE, 149, IS_CAST2, { MIS_APOCA, 0, 0 }, 6, 90, 8, 12, 30000, 2000 },
47 #else
48  { SPL_APOCA, 150, STYPE_FIRE, "Apocalypse", NULL, -1, -1, FALSE, FALSE, 149, IS_CAST2, { MIS_APOCA, 0, 0 }, 6, 90, 8, 12, 30000, 2000 },
49 #endif
50  { SPL_ETHEREALIZE, 100, STYPE_MAGIC, "Etherealize", NULL, -1, -1, FALSE, FALSE, 93, IS_CAST2, { MIS_ETHEREALIZE, 0, 0 }, 0, 100, 2, 6, 26000, 1600 },
51  { SPL_REPAIR, 0, STYPE_MAGIC, "Item Repair", "Item Repair", -1, -1, FALSE, TRUE, -1, IS_CAST6, { MIS_REPAIR, 0, 0 }, 0, 0, 40, 80, 0, 0 },
52  { SPL_RECHARGE, 0, STYPE_MAGIC, "Staff Recharge", "Staff Recharge", -1, -1, FALSE, TRUE, -1, IS_CAST6, { MIS_RECHARGE, 0, 0 }, 0, 0, 40, 80, 0, 0 },
53  { SPL_DISARM, 0, STYPE_MAGIC, "Trap Disarm", "Trap Disarm", -1, -1, FALSE, FALSE, -1, IS_CAST6, { MIS_DISARM, 0, 0 }, 0, 0, 40, 80, 0, 0 },
54  { SPL_ELEMENT, 35, STYPE_FIRE, "Elemental", NULL, 8, 6, FALSE, FALSE, 68, IS_CAST2, { MIS_ELEMENT, 0, 0 }, 2, 20, 20, 60, 10500, 700 },
55  { SPL_CBOLT, 6, STYPE_LIGHTNING, "Charged Bolt", NULL, 1, 1, TRUE, FALSE, 25, IS_CAST2, { MIS_CBOLT, 0, 0 }, 1, 6, 40, 80, 1000, 50 },
56  { SPL_HBOLT, 7, STYPE_MAGIC, "Holy Bolt", NULL, 1, 1, TRUE, FALSE, 20, IS_CAST2, { MIS_HBOLT, 0, 0 }, 1, 3, 40, 80, 1000, 50 },
57  { SPL_RESURRECT, 20, STYPE_MAGIC, "Resurrect", NULL, -1, 5, FALSE, TRUE, 30, IS_CAST8, { MIS_RESURRECT, 0, 0 }, 0, 20, 4, 10, 4000, 250 },
58  { SPL_TELEKINESIS, 15, STYPE_MAGIC, "Telekinesis", NULL, 2, 2, FALSE, FALSE, 33, IS_CAST2, { MIS_TELEKINESIS, 0, 0 }, 2, 8, 20, 40, 2500, 200 },
59  { SPL_HEALOTHER, 5, STYPE_MAGIC, "Heal Other", NULL, 1, 1, FALSE, TRUE, 17, IS_CAST8, { MIS_HEALOTHER, 0, 0 }, 3, 1, 20, 40, 1000, 50 },
60 #ifndef SPAWN
61  { SPL_FLARE, 25, STYPE_MAGIC, "Blood Star", NULL, 14, 13, FALSE, FALSE, 70, IS_CAST2, { MIS_FLARE, 0, 0 }, 2, 14, 20, 60, 27500, 1800 },
62  { SPL_BONESPIRIT, 24, STYPE_MAGIC, "Bone Spirit", NULL, 9, 7, FALSE, FALSE, 34, IS_CAST2, { MIS_BONESPIRIT, 0, 0 }, 1, 12, 20, 60, 11500, 800 },
63 #else
64  { SPL_FLARE, 25, STYPE_MAGIC, "Blood Star", NULL, -1, -1, FALSE, FALSE, 70, IS_CAST2, { MIS_FLARE, 0, 0 }, 2, 14, 20, 60, 27500, 1800 },
65  { SPL_BONESPIRIT, 24, STYPE_MAGIC, "Bone Spirit", NULL, -1, -1, FALSE, FALSE, 34, IS_CAST2, { MIS_BONESPIRIT, 0, 0 }, 1, 12, 20, 60, 11500, 800 },
66 #endif
67  // clang-format on
68 };
69 
SPL_HBOLT
@ SPL_HBOLT
Definition: enums.h:2161
SPL_INVISIBIL
@ SPL_INVISIBIL
Definition: enums.h:2149
SPL_FLAME
@ SPL_FLAME
Definition: enums.h:2150
MIS_REPAIR
@ MIS_REPAIR
Definition: enums.h:1239
SPL_FIREBOLT
@ SPL_FIREBOLT
Definition: enums.h:2131
SPL_RESURRECT
@ SPL_RESURRECT
Definition: enums.h:2162
SPL_HEALOTHER
@ SPL_HEALOTHER
Definition: enums.h:2164
SPL_NULL
@ SPL_NULL
Definition: enums.h:2130
MIS_FLASH
@ MIS_FLASH
Definition: enums.h:1205
SPL_STONE
@ SPL_STONE
Definition: enums.h:2138
MIS_RESURRECT
@ MIS_RESURRECT
Definition: enums.h:1248
MIS_CBOLT
@ MIS_CBOLT
Definition: enums.h:1246
MIS_ETHEREALIZE
@ MIS_ETHEREALIZE
Definition: enums.h:1228
MIS_TOWN
@ MIS_TOWN
Definition: enums.h:1204
SPL_TOWN
@ SPL_TOWN
Definition: enums.h:2137
MIS_MANASHIELD
@ MIS_MANASHIELD
Definition: enums.h:1207
SPL_FIREWALL
@ SPL_FIREWALL
Definition: enums.h:2136
SPL_FIREBALL
@ SPL_FIREBALL
Definition: enums.h:2142
STYPE_LIGHTNING
@ STYPE_LIGHTNING
Definition: enums.h:1944
MIS_HEALOTHER
@ MIS_HEALOTHER
Definition: enums.h:1254
MIS_FIREBALL
@ MIS_FIREBALL
Definition: enums.h:1200
all.h
spelldata
DEVILUTION_BEGIN_NAMESPACE SpellData spelldata[]
Data related to each spell ID.
Definition: spelldat.cpp:6
MIS_FLARE
@ MIS_FLARE
Definition: enums.h:1218
SPL_BLODRIT
@ SPL_BLODRIT
Definition: enums.h:2147
STYPE_MAGIC
@ STYPE_MAGIC
Definition: enums.h:1945
SPL_RNDTELEPORT
@ SPL_RNDTELEPORT
Definition: enums.h:2140
MIS_TELEPORT
@ MIS_TELEPORT
Definition: enums.h:1220
MIS_GOLEM
@ MIS_GOLEM
Definition: enums.h:1227
MIS_RNDTELEPORT
@ MIS_RNDTELEPORT
Definition: enums.h:1197
SPL_MANASHIELD
@ SPL_MANASHIELD
Definition: enums.h:2141
SPL_ETHEREALIZE
@ SPL_ETHEREALIZE
Definition: enums.h:2155
SPL_DISARM
@ SPL_DISARM
Definition: enums.h:2158
SPL_LIGHTNING
@ SPL_LIGHTNING
Definition: enums.h:2133
SPL_GOLEM
@ SPL_GOLEM
Definition: enums.h:2151
SPL_REPAIR
@ SPL_REPAIR
Definition: enums.h:2156
DEVILUTION_END_NAMESPACE
#define DEVILUTION_END_NAMESPACE
Definition: types.h:10
SPL_CHAIN
@ SPL_CHAIN
Definition: enums.h:2144
MIS_TELEKINESIS
@ MIS_TELEKINESIS
Definition: enums.h:1249
SPL_DOOMSERP
@ SPL_DOOMSERP
Definition: enums.h:2146
IS_CAST4
@ IS_CAST4
Definition: enums.h:361
SPL_ELEMENT
@ SPL_ELEMENT
Definition: enums.h:2159
MIS_FLAMEC
@ MIS_FLAMEC
Definition: enums.h:1243
SPL_BLODBOIL
@ SPL_BLODBOIL
Definition: enums.h:2152
MIS_GUARDIAN
@ MIS_GUARDIAN
Definition: enums.h:1196
SPL_TELEKINESIS
@ SPL_TELEKINESIS
Definition: enums.h:2163
SPL_CBOLT
@ SPL_CBOLT
Definition: enums.h:2160
SPL_FLARE
@ SPL_FLARE
Definition: enums.h:2165
SPL_IDENTIFY
@ SPL_IDENTIFY
Definition: enums.h:2135
SPL_BONESPIRIT
@ SPL_BONESPIRIT
Definition: enums.h:2166
SPL_HEAL
@ SPL_HEAL
Definition: enums.h:2132
MIS_INFRA
@ MIS_INFRA
Definition: enums.h:1233
STYPE_FIRE
@ STYPE_FIRE
Definition: enums.h:1943
MIS_BONESPIRIT
@ MIS_BONESPIRIT
Definition: enums.h:1257
MIS_NOVA
@ MIS_NOVA
Definition: enums.h:1236
IS_CAST8
@ IS_CAST8
Definition: enums.h:365
MIS_HEAL
@ MIS_HEAL
Definition: enums.h:1231
SPL_INFRA
@ SPL_INFRA
Definition: enums.h:2139
SPL_RECHARGE
@ SPL_RECHARGE
Definition: enums.h:2157
SPL_APOCA
@ SPL_APOCA
Definition: enums.h:2154
SPL_NOVA
@ SPL_NOVA
Definition: enums.h:2148
MIS_ELEMENT
@ MIS_ELEMENT
Definition: enums.h:1255
IS_CAST2
@ IS_CAST2
Definition: enums.h:359
MIS_WAVE
@ MIS_WAVE
Definition: enums.h:1235
MIS_FLASH2
@ MIS_FLASH2
Definition: enums.h:1206
MIS_LIGHTCTRL
@ MIS_LIGHTCTRL
Definition: enums.h:1201
MIS_FIREWALLC
@ MIS_FIREWALLC
Definition: enums.h:1232
DEVILUTION_BEGIN_NAMESPACE
Definition: sha.cpp:10
MIS_IDENTIFY
@ MIS_IDENTIFY
Definition: enums.h:1234
SPL_GUARDIAN
@ SPL_GUARDIAN
Definition: enums.h:2143
SPL_FLASH
@ SPL_FLASH
Definition: enums.h:2134
IS_CAST6
@ IS_CAST6
Definition: enums.h:363
SPL_TELEPORT
@ SPL_TELEPORT
Definition: enums.h:2153
MIS_CHAIN
@ MIS_CHAIN
Definition: enums.h:1209
MIS_HBOLT
@ MIS_HBOLT
Definition: enums.h:1247
MIS_RECHARGE
@ MIS_RECHARGE
Definition: enums.h:1240
SPL_WAVE
@ SPL_WAVE
Definition: enums.h:2145
MIS_DISARM
@ MIS_DISARM
Definition: enums.h:1241
SpellData
Definition: structs.h:1015
MIS_FIREBOLT
@ MIS_FIREBOLT
Definition: enums.h:1195
MIS_APOCA
@ MIS_APOCA
Definition: enums.h:1238
MIS_STONE
@ MIS_STONE
Definition: enums.h:1224