combat spell functions have the same interface as spells now.

This commit is contained in:
Enno Rehling 2012-05-09 18:28:03 -07:00
parent 360f00d44f
commit 06a4a7051b
3 changed files with 325 additions and 241 deletions

View File

@ -106,8 +106,12 @@ static double get_force(double power, int formel)
} }
/* Generischer Kampfzauber */ /* Generischer Kampfzauber */
int sp_kampfzauber(fighter * fi, int level, double power, spell * sp) int sp_kampfzauber(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
troop at, dt; troop at, dt;
message *m; message *m;
@ -165,8 +169,12 @@ int sp_kampfzauber(fighter * fi, int level, double power, spell * sp)
} }
/* Versteinern */ /* Versteinern */
int sp_petrify(fighter * fi, int level, double power, spell * sp) int sp_petrify(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
/* Wirkt auf erste und zweite Reihe */ /* Wirkt auf erste und zweite Reihe */
@ -205,8 +213,12 @@ int sp_petrify(fighter * fi, int level, double power, spell * sp)
} }
/* Benommenheit: eine Runde kein Angriff */ /* Benommenheit: eine Runde kein Angriff */
int sp_stun(fighter * fi, int level, double power, spell * sp) int sp_stun(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
message *m; message *m;
@ -273,8 +285,12 @@ static void scramble_fighters(quicklist * ql)
} }
/* Rosthauch */ /* Rosthauch */
int sp_combatrosthauch(fighter * fi, int level, double power, spell * sp) int sp_combatrosthauch(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
quicklist *ql, *fgs; quicklist *ql, *fgs;
int force = lovar(power * 15); int force = lovar(power * 15);
@ -360,8 +376,12 @@ int sp_combatrosthauch(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_sleep(fighter * fi, int level, double power, spell * sp) int sp_sleep(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
unit *du; unit *du;
@ -398,8 +418,11 @@ int sp_sleep(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_speed(fighter * fi, int level, double power, spell * sp) int sp_speed(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
int force; int force;
int allies; int allies;
@ -476,8 +499,12 @@ static skill_t random_skill(unit * u, boolean weighted)
/** The mind blast spell for regular folks. /** The mind blast spell for regular folks.
* This spell temporarily reduces the skill of the victims * This spell temporarily reduces the skill of the victims
*/ */
int sp_mindblast_temp(fighter * fi, int level, double power, spell * sp) int sp_mindblast_temp(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
int k = 0, reset = 0, maxloss = (level + 2) / 3; int k = 0, reset = 0, maxloss = (level + 2) / 3;
@ -538,8 +565,12 @@ int sp_mindblast_temp(fighter * fi, int level, double power, spell * sp)
* This spell PERMANENTLY reduces the skill of the victims or kills them * This spell PERMANENTLY reduces the skill of the victims or kills them
* when they have no skills left. Not currently in use. * when they have no skills left. Not currently in use.
*/ */
int sp_mindblast(fighter * fi, int level, double power, spell * sp) int sp_mindblast(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
int killed = 0, k = 0, reset = 0; int killed = 0, k = 0, reset = 0;
@ -605,8 +636,12 @@ int sp_mindblast(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_dragonodem(fighter * fi, int level, double power, spell * sp) int sp_dragonodem(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
troop dt; troop dt;
troop at; troop at;
@ -651,8 +686,11 @@ int sp_dragonodem(fighter * fi, int level, double power, spell * sp)
/* Feuersturm: Betrifft sehr viele Gegner (in der Regel alle), /* Feuersturm: Betrifft sehr viele Gegner (in der Regel alle),
* macht nur vergleichsweise geringen Schaden */ * macht nur vergleichsweise geringen Schaden */
int sp_immolation(fighter * fi, int level, double power, spell * sp) int sp_immolation(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
troop at; troop at;
int force, qi, killed = 0; int force, qi, killed = 0;
@ -752,8 +790,12 @@ int sp_drainodem(fighter * fi, int level, double power, spell * sp)
/* ------------------------------------------------------------- */ /* ------------------------------------------------------------- */
/* PRECOMBAT */ /* PRECOMBAT */
int sp_shadowcall(fighter * fi, int level, double power, spell * sp) int sp_shadowcall(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
region *r = b->region; region *r = b->region;
unit *mage = fi->unit; unit *mage = fi->unit;
@ -787,8 +829,12 @@ int sp_shadowcall(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_wolfhowl(fighter * fi, int level, double power, spell * sp) int sp_wolfhowl(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
region *r = b->region; region *r = b->region;
unit *mage = fi->unit; unit *mage = fi->unit;
@ -827,8 +873,12 @@ int sp_wolfhowl(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_shadowknights(fighter * fi, int level, double power, spell * sp) int sp_shadowknights(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
unit *u; unit *u;
battle *b = fi->side->battle; battle *b = fi->side->battle;
region *r = b->region; region *r = b->region;
@ -864,8 +914,12 @@ int sp_shadowknights(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_strong_wall(fighter * fi, int level, double power, spell * sp) int sp_strong_wall(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
building *burg; building *burg;
@ -899,8 +953,12 @@ int sp_strong_wall(fighter * fi, int level, double power, spell * sp)
/** Spells: chaosrow / song of confusion. /** Spells: chaosrow / song of confusion.
* German Title: 'Gesang der Verwirrung' * German Title: 'Gesang der Verwirrung'
*/ */
int sp_chaosrow(fighter * fi, int level, double power, spell * sp) int sp_chaosrow(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
quicklist *fgs, *ql; quicklist *fgs, *ql;
@ -984,8 +1042,12 @@ int sp_chaosrow(fighter * fi, int level, double power, spell * sp)
/* Gesang der Furcht (Kampfzauber) */ /* Gesang der Furcht (Kampfzauber) */
/* Panik (Präkampfzauber) */ /* Panik (Präkampfzauber) */
int sp_flee(fighter * fi, int level, double power, spell * sp) int sp_flee(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
quicklist *fgs, *ql; quicklist *fgs, *ql;
@ -1048,8 +1110,12 @@ int sp_flee(fighter * fi, int level, double power, spell * sp)
} }
/* Heldenmut */ /* Heldenmut */
int sp_hero(fighter * fi, int level, double power, spell * sp) int sp_hero(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
int df_bonus = 0; int df_bonus = 0;
int force = 0; int force = 0;
@ -1097,8 +1163,12 @@ int sp_hero(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_berserk(fighter * fi, int level, double power, spell * sp) int sp_berserk(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
int at_bonus = 0; int at_bonus = 0;
int df_malus = 0; int df_malus = 0;
@ -1151,8 +1221,12 @@ int sp_berserk(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_frighten(fighter * fi, int level, double power, spell * sp) int sp_frighten(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
int at_malus = 0; int at_malus = 0;
@ -1204,8 +1278,12 @@ int sp_frighten(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_tiredsoldiers(fighter * fi, int level, double power, spell * sp) int sp_tiredsoldiers(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
int n = 0; int n = 0;
@ -1245,8 +1323,12 @@ int sp_tiredsoldiers(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_windshield(fighter * fi, int level, double power, spell * sp) int sp_windshield(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
int force, at_malus; int force, at_malus;
int enemies; int enemies;
@ -1292,8 +1374,12 @@ int sp_windshield(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_reeling_arrows(fighter * fi, int level, double power, spell * sp) int sp_reeling_arrows(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
message *m; message *m;
@ -1306,11 +1392,15 @@ int sp_reeling_arrows(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_denyattack(fighter * fi, int level, double power, spell * sp)
{
/* Magier weicht dem Kampf aus. Wenn er sich bewegen kann, zieht er in /* Magier weicht dem Kampf aus. Wenn er sich bewegen kann, zieht er in
* eine Nachbarregion, wobei ein NACH berücksichtigt wird. Ansonsten * eine Nachbarregion, wobei ein NACH berücksichtigt wird. Ansonsten
* bleibt er stehen und nimmt nicht weiter am Kampf teil. */ * bleibt er stehen und nimmt nicht weiter am Kampf teil. */
int sp_denyattack(struct castorder * co)
{
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
region *r = b->region; region *r = b->region;
@ -1352,8 +1442,12 @@ static void do_meffect(fighter * af, int typ, int effect, int duration)
me->duration = duration; me->duration = duration;
} }
int sp_armorshield(fighter * fi, int level, double power, spell * sp) int sp_armorshield(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
int effect; int effect;
int duration; int duration;
battle *b = fi->side->battle; battle *b = fi->side->battle;
@ -1378,8 +1472,12 @@ int sp_armorshield(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_reduceshield(fighter * fi, int level, double power, spell * sp) int sp_reduceshield(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
int effect; int effect;
int duration; int duration;
battle *b = fi->side->battle; battle *b = fi->side->battle;
@ -1404,8 +1502,11 @@ int sp_reduceshield(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_fumbleshield(fighter * fi, int level, double power, spell * sp) int sp_fumbleshield(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
const spell * sp = co->sp;
int effect; int effect;
int duration; int duration;
battle *b = fi->side->battle; battle *b = fi->side->battle;
@ -1450,8 +1551,11 @@ static int count_healable(battle * b, fighter * df)
} }
/* wiederbeleben */ /* wiederbeleben */
int sp_reanimate(fighter * fi, int level, double power, spell * sp) int sp_reanimate(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
int healable, j = 0; int healable, j = 0;
@ -1506,8 +1610,12 @@ int sp_reanimate(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_keeploot(fighter * fi, int level, double power, spell * sp) int sp_keeploot(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
const spell * sp = co->sp;
battle *b = fi->side->battle; battle *b = fi->side->battle;
message *m = msg_message("cast_spell_effect", "mage spell", fi->unit, sp); message *m = msg_message("cast_spell_effect", "mage spell", fi->unit, sp);
@ -1561,8 +1669,11 @@ static int heal_fighters(quicklist * fgs, int *power, boolean heal_monsters)
return healed; return healed;
} }
int sp_healing(fighter * fi, int level, double power, spell * sp) int sp_healing(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
int j = 0; int j = 0;
@ -1603,8 +1714,11 @@ int sp_healing(fighter * fi, int level, double power, spell * sp)
return level; return level;
} }
int sp_undeadhero(fighter * fi, int level, double power, spell * sp) int sp_undeadhero(struct castorder * co)
{ {
fighter * fi = co->magician.fig;
int level = co->level;
double power = co->force;
battle *b = fi->side->battle; battle *b = fi->side->battle;
unit *mage = fi->unit; unit *mage = fi->unit;
region *r = b->region; region *r = b->region;

View File

@ -20,66 +20,36 @@ extern "C" {
struct fighter; struct fighter;
/* Kampfzauber */ /* Kampfzauber */
extern int sp_fumbleshield(struct fighter *fi, int level, double power, extern int sp_fumbleshield(struct castorder * co);
struct spell *sp); extern int sp_shadowknights(struct castorder * co);
extern int sp_shadowknights(struct fighter *fi, int level, double power, extern int sp_combatrosthauch(struct castorder * co);
struct spell *sp); extern int sp_kampfzauber(struct castorder * co);
extern int sp_combatrosthauch(struct fighter *fi, int level, double power, extern int sp_healing(struct castorder * co);
struct spell *sp); extern int sp_keeploot(struct castorder * co);
extern int sp_kampfzauber(struct fighter *fi, int level, double power, extern int sp_reanimate(struct castorder * co);
struct spell *sp); extern int sp_chaosrow(struct castorder * co);
extern int sp_healing(struct fighter *fi, int level, double power, extern int sp_flee(struct castorder * co);
struct spell *sp); extern int sp_berserk(struct castorder * co);
extern int sp_keeploot(struct fighter *fi, int level, double power, extern int sp_tiredsoldiers(struct castorder * co);
struct spell *sp); extern int sp_reeling_arrows(struct castorder * co);
extern int sp_reanimate(struct fighter *fi, int level, double power, extern int sp_denyattack(struct castorder * co);
struct spell *sp); extern int sp_sleep(struct castorder * co);
extern int sp_chaosrow(struct fighter *fi, int level, double power, extern int sp_windshield(struct castorder * co);
struct spell *sp); extern int sp_strong_wall(struct castorder * co);
extern int sp_flee(struct fighter *fi, int level, double power, extern int sp_petrify(struct castorder * co);
struct spell *sp); extern int sp_hero(struct castorder * co);
extern int sp_berserk(struct fighter *fi, int level, double power, extern int sp_frighten(struct castorder * co);
struct spell *sp); extern int sp_mindblast(struct castorder * co);
extern int sp_tiredsoldiers(struct fighter *fi, int level, double power, extern int sp_mindblast_temp(struct castorder * co);
struct spell *sp); extern int sp_speed(struct castorder * co);
extern int sp_reeling_arrows(struct fighter *fi, int level, double power, extern int sp_wolfhowl(struct castorder * co);
struct spell *sp); extern int sp_dragonodem(struct castorder * co);
extern int sp_denyattack(struct fighter *fi, int level, double power, extern int sp_reduceshield(struct castorder * co);
struct spell *sp); extern int sp_armorshield(struct castorder * co);
extern int sp_sleep(struct fighter *fi, int level, double power, extern int sp_stun(struct castorder * co);
struct spell *sp); extern int sp_undeadhero(struct castorder * co);
extern int sp_windshield(struct fighter *fi, int level, double power, extern int sp_shadowcall(struct castorder * co);
struct spell *sp); extern int sp_immolation(struct castorder * co);
extern int sp_strong_wall(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_petrify(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_hero(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_frighten(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_mindblast(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_mindblast_temp(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_speed(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_wolfhowl(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_dragonodem(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_reduceshield(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_armorshield(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_stun(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_undeadhero(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_shadowcall(struct fighter *fi, int level, double power,
struct spell *sp);
extern int sp_immolation(struct fighter *fi, int level, double power,
struct spell *sp);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -4879,7 +4879,7 @@ int sp_disturbingdreams(castorder * co)
int sp_analysemagic(castorder * co) int sp_analysemagic(castorder * co)
{ {
int obj; int obj;
unit *mage = co->magician.u; unit *mage = co_get_caster(co);
int cast_level = co->level; int cast_level = co->level;
spellparameter *pa = co->par; spellparameter *pa = co->par;
@ -6520,448 +6520,448 @@ static spelldata spelldaten[] = {
/* M_GWYRRD */ /* M_GWYRRD */
{ {
SPL_STONEGOLEM, "stonegolem", SPL_STONEGOLEM, "stonegolem",
(spell_f) sp_create_stonegolem, NULL}, sp_create_stonegolem, NULL},
{ {
SPL_IRONGOLEM, "irongolem", SPL_IRONGOLEM, "irongolem",
(spell_f) sp_create_irongolem, NULL}, sp_create_irongolem, NULL},
{ {
SPL_TREEGROW, "treegrow", SPL_TREEGROW, "treegrow",
(spell_f) sp_hain, patzer_ents}, sp_hain, patzer_ents},
{ {
SPL_RUSTWEAPON, "rustweapon", SPL_RUSTWEAPON, "rustweapon",
(spell_f) sp_rosthauch, NULL}, sp_rosthauch, NULL},
{ {
SPL_KAELTESCHUTZ, "cold_protection", SPL_KAELTESCHUTZ, "cold_protection",
(spell_f) sp_kaelteschutz, NULL}, sp_kaelteschutz, NULL},
{ {
SPL_HAGEL, "hail", SPL_HAGEL, "hail",
(spell_f) sp_kampfzauber, NULL}, sp_kampfzauber, NULL},
{ {
SPL_IRONKEEPER, "ironkeeper", SPL_IRONKEEPER, "ironkeeper",
(spell_f) sp_ironkeeper, NULL}, sp_ironkeeper, NULL},
{ {
SPL_MAGICSTREET, "magicstreet", SPL_MAGICSTREET, "magicstreet",
(spell_f) sp_magicstreet, NULL}, sp_magicstreet, NULL},
{ {
SPL_WINDSHIELD, "windshield", SPL_WINDSHIELD, "windshield",
(spell_f) sp_windshield, NULL}, sp_windshield, NULL},
{ {
SPL_MALLORNTREEGROW, "mallorntreegrow", SPL_MALLORNTREEGROW, "mallorntreegrow",
(spell_f) sp_mallornhain, patzer_ents}, sp_mallornhain, patzer_ents},
{SPL_GOODWINDS, "goodwinds", {SPL_GOODWINDS, "goodwinds",
(spell_f) sp_goodwinds, NULL}, sp_goodwinds, NULL},
{ {
SPL_HEALING, "healing", SPL_HEALING, "healing",
(spell_f) sp_healing, NULL}, sp_healing, NULL},
{ {
SPL_REELING_ARROWS, "reelingarrows", SPL_REELING_ARROWS, "reelingarrows",
(spell_f) sp_reeling_arrows, NULL}, sp_reeling_arrows, NULL},
{ {
SPL_GWYRRD_FUMBLESHIELD, "gwyrrdfumbleshield", SPL_GWYRRD_FUMBLESHIELD, "gwyrrdfumbleshield",
(spell_f) sp_fumbleshield, NULL}, sp_fumbleshield, NULL},
{ {
SPL_TRANSFERAURA_DRUIDE, "transferauradruide", SPL_TRANSFERAURA_DRUIDE, "transferauradruide",
(spell_f) sp_transferaura, NULL}, sp_transferaura, NULL},
{ {
SPL_EARTHQUAKE, "earthquake", SPL_EARTHQUAKE, "earthquake",
(spell_f) sp_earthquake, NULL}, sp_earthquake, NULL},
{ {
SPL_STORMWINDS, "stormwinds", SPL_STORMWINDS, "stormwinds",
(spell_f) sp_stormwinds, NULL}, sp_stormwinds, NULL},
{ {
SPL_HOMESTONE, "homestone", SPL_HOMESTONE, "homestone",
(spell_f) sp_homestone, NULL}, sp_homestone, NULL},
{ {
SPL_WOLFHOWL, "wolfhowl", SPL_WOLFHOWL, "wolfhowl",
(spell_f) sp_wolfhowl, NULL}, sp_wolfhowl, NULL},
{ {
SPL_VERSTEINERN, "versteinern", SPL_VERSTEINERN, "versteinern",
(spell_f) sp_petrify, NULL}, sp_petrify, NULL},
{ {
SPL_STRONG_WALL, "strongwall", SPL_STRONG_WALL, "strongwall",
(spell_f) sp_strong_wall, NULL}, sp_strong_wall, NULL},
{ {
SPL_GWYRRD_DESTROY_MAGIC, "gwyrrddestroymagic", SPL_GWYRRD_DESTROY_MAGIC, "gwyrrddestroymagic",
(spell_f) sp_destroy_magic, NULL}, sp_destroy_magic, NULL},
{ {
SPL_TREEWALKENTER, "treewalkenter", SPL_TREEWALKENTER, "treewalkenter",
(spell_f) sp_treewalkenter, NULL}, sp_treewalkenter, NULL},
{ {
SPL_TREEWALKEXIT, "treewalkexit", SPL_TREEWALKEXIT, "treewalkexit",
(spell_f) sp_treewalkexit, NULL}, sp_treewalkexit, NULL},
{ {
SPL_HOLYGROUND, "holyground", SPL_HOLYGROUND, "holyground",
(spell_f) sp_holyground, NULL}, sp_holyground, NULL},
{ {
SPL_SUMMONENT, "summonent", SPL_SUMMONENT, "summonent",
(spell_f) sp_summonent, NULL}, sp_summonent, NULL},
{ {
SPL_GWYRRD_FAMILIAR, "gwyrrdfamiliar", SPL_GWYRRD_FAMILIAR, "gwyrrdfamiliar",
(spell_f) sp_summon_familiar, NULL}, sp_summon_familiar, NULL},
{ {
SPL_BLESSSTONECIRCLE, "blessstonecircle", SPL_BLESSSTONECIRCLE, "blessstonecircle",
(spell_f) sp_blessstonecircle, NULL}, sp_blessstonecircle, NULL},
{ {
SPL_GWYRRD_ARMORSHIELD, "barkskin", SPL_GWYRRD_ARMORSHIELD, "barkskin",
(spell_f) sp_armorshield, NULL}, sp_armorshield, NULL},
{ {
SPL_DROUGHT, "summonfireelemental", SPL_DROUGHT, "summonfireelemental",
(spell_f) sp_drought, NULL}, sp_drought, NULL},
{ {
SPL_MAELSTROM, "maelstrom", SPL_MAELSTROM, "maelstrom",
(spell_f) sp_maelstrom, NULL}, sp_maelstrom, NULL},
{ {
SPL_MALLORN, "magic_roots", SPL_MALLORN, "magic_roots",
(spell_f) sp_mallorn, NULL}, sp_mallorn, NULL},
{ {
SPL_GREAT_DROUGHT, "great_drought", SPL_GREAT_DROUGHT, "great_drought",
(spell_f) sp_great_drought, NULL}, sp_great_drought, NULL},
/* M_DRAIG */ /* M_DRAIG */
{ {
SPL_SPARKLE_CHAOS, "sparklechaos", SPL_SPARKLE_CHAOS, "sparklechaos",
(spell_f) sp_sparkle, NULL}, sp_sparkle, NULL},
{ {
SPL_FIREBALL, "fireball", SPL_FIREBALL, "fireball",
(spell_f) sp_kampfzauber, NULL}, sp_kampfzauber, NULL},
{ {
SPL_MAGICBOOST, "magicboost", SPL_MAGICBOOST, "magicboost",
(spell_f) sp_magicboost, NULL}, sp_magicboost, NULL},
{ {
SPL_BLOODSACRIFICE, "bloodsacrifice", SPL_BLOODSACRIFICE, "bloodsacrifice",
(spell_f) sp_bloodsacrifice, NULL}, sp_bloodsacrifice, NULL},
{ {
SPL_BERSERK, "berserk", SPL_BERSERK, "berserk",
(spell_f) sp_berserk, NULL}, sp_berserk, NULL},
{ {
SPL_FUMBLECURSE, "fumblecurse", SPL_FUMBLECURSE, "fumblecurse",
(spell_f) sp_fumblecurse, patzer_fumblecurse}, sp_fumblecurse, patzer_fumblecurse},
{ {
SPL_SUMMONUNDEAD, "summonundead", SPL_SUMMONUNDEAD, "summonundead",
(spell_f) sp_summonundead, patzer_peasantmob}, sp_summonundead, patzer_peasantmob},
{ {
SPL_COMBATRUST, "combatrust", SPL_COMBATRUST, "combatrust",
(spell_f) sp_combatrosthauch, NULL}, sp_combatrosthauch, NULL},
{ {
SPL_TRANSFERAURA_CHAOS, "transferaurachaos", SPL_TRANSFERAURA_CHAOS, "transferaurachaos",
(spell_f) sp_transferaura, NULL}, sp_transferaura, NULL},
{ {
SPL_FIREWALL, "firewall", SPL_FIREWALL, "firewall",
(spell_f) sp_firewall, patzer_peasantmob}, sp_firewall, patzer_peasantmob},
{ {
SPL_PLAGUE, "plague", SPL_PLAGUE, "plague",
(spell_f) sp_plague, patzer_peasantmob}, sp_plague, patzer_peasantmob},
{ {
SPL_CHAOSROW, "chaosrow", SPL_CHAOSROW, "chaosrow",
(spell_f) sp_chaosrow, NULL}, sp_chaosrow, NULL},
{ {
SPL_SUMMONSHADOW, "summonshadow", SPL_SUMMONSHADOW, "summonshadow",
(spell_f) sp_summonshadow, patzer_peasantmob}, sp_summonshadow, patzer_peasantmob},
{ {
SPL_UNDEADHERO, "undeadhero", SPL_UNDEADHERO, "undeadhero",
(spell_f) sp_undeadhero, NULL}, sp_undeadhero, NULL},
{ {
SPL_AURALEAK, "auraleak", SPL_AURALEAK, "auraleak",
(spell_f) sp_auraleak, NULL}, sp_auraleak, NULL},
{ {
SPL_DRAIG_FUMBLESHIELD, "draigfumbleshield", SPL_DRAIG_FUMBLESHIELD, "draigfumbleshield",
(spell_f) sp_fumbleshield, NULL}, sp_fumbleshield, NULL},
{ {
SPL_FOREST_FIRE, "forestfire", SPL_FOREST_FIRE, "forestfire",
(spell_f) sp_forest_fire, patzer_peasantmob}, sp_forest_fire, patzer_peasantmob},
{ {
SPL_DRAIG_DESTROY_MAGIC, "draigdestroymagic", SPL_DRAIG_DESTROY_MAGIC, "draigdestroymagic",
(spell_f) sp_destroy_magic, NULL}, sp_destroy_magic, NULL},
{ {
SPL_UNHOLYPOWER, "unholypower", SPL_UNHOLYPOWER, "unholypower",
(spell_f) sp_unholypower, NULL}, sp_unholypower, NULL},
{ {
SPL_DEATHCLOUD, "deathcloud", SPL_DEATHCLOUD, "deathcloud",
(spell_f) sp_deathcloud, patzer_peasantmob}, sp_deathcloud, patzer_peasantmob},
{ {
SPL_SUMMONDRAGON, "summondragon", SPL_SUMMONDRAGON, "summondragon",
(spell_f) sp_summondragon, patzer_peasantmob}, sp_summondragon, patzer_peasantmob},
{ {
SPL_SUMMONSHADOWLORDS, "summonshadowlords", SPL_SUMMONSHADOWLORDS, "summonshadowlords",
(spell_f) sp_summonshadowlords, patzer_peasantmob}, sp_summonshadowlords, patzer_peasantmob},
{ {
SPL_DRAIG_FAMILIAR, "draigfamiliar", SPL_DRAIG_FAMILIAR, "draigfamiliar",
(spell_f) sp_summon_familiar, NULL}, sp_summon_familiar, NULL},
{ {
SPL_CHAOSSUCTION, "chaossuction", SPL_CHAOSSUCTION, "chaossuction",
(spell_f) sp_chaossuction, patzer_peasantmob}, sp_chaossuction, patzer_peasantmob},
/* M_ILLAUN */ /* M_ILLAUN */
{ {
SPL_SPARKLE_DREAM, "sparkledream", SPL_SPARKLE_DREAM, "sparkledream",
(spell_f) sp_sparkle, NULL}, sp_sparkle, NULL},
{ {
SPL_SHADOWKNIGHTS, "shadowknights", SPL_SHADOWKNIGHTS, "shadowknights",
(spell_f) sp_shadowknights, NULL}, sp_shadowknights, NULL},
{ {
SPL_FLEE, "flee", SPL_FLEE, "flee",
(spell_f) sp_flee, NULL}, sp_flee, NULL},
{ {
SPL_PUTTOREST, "puttorest", SPL_PUTTOREST, "puttorest",
(spell_f) sp_puttorest, NULL}, sp_puttorest, NULL},
{ {
SPL_ICASTLE, "icastle", SPL_ICASTLE, "icastle",
(spell_f) sp_icastle, NULL}, sp_icastle, NULL},
{ {
SPL_TRANSFERAURA_TRAUM, "transferauratraum", SPL_TRANSFERAURA_TRAUM, "transferauratraum",
(spell_f) sp_transferaura, NULL}, sp_transferaura, NULL},
{ {
SPL_ILL_SHAPESHIFT, "shapeshift", SPL_ILL_SHAPESHIFT, "shapeshift",
(spell_f) sp_illusionary_shapeshift, NULL}, sp_illusionary_shapeshift, NULL},
{ {
SPL_DREAMREADING, "dreamreading", SPL_DREAMREADING, "dreamreading",
(spell_f) sp_dreamreading, NULL}, sp_dreamreading, NULL},
{ {
SPL_TIREDSOLDIERS, "tiredsoldiers", SPL_TIREDSOLDIERS, "tiredsoldiers",
(spell_f) sp_tiredsoldiers, NULL}, sp_tiredsoldiers, NULL},
{ {
SPL_REANIMATE, "reanimate", SPL_REANIMATE, "reanimate",
(spell_f) sp_reanimate, NULL}, sp_reanimate, NULL},
{ {
SPL_ANALYSEDREAM, "analysedream", SPL_ANALYSEDREAM, "analysedream",
(spell_f) sp_analysedream, NULL}, sp_analysedream, NULL},
{ {
SPL_DISTURBINGDREAMS, "disturbingdreams", SPL_DISTURBINGDREAMS, "disturbingdreams",
(spell_f) sp_disturbingdreams, NULL}, sp_disturbingdreams, NULL},
{ {
SPL_SLEEP, "sleep", SPL_SLEEP, "sleep",
(spell_f) sp_sleep, NULL}, sp_sleep, NULL},
{ {
SPL_WISPS, "wisps", SPL_WISPS, "wisps",
(spell_f) sp_wisps, NULL}, sp_wisps, NULL},
{ {
SPL_GOODDREAMS, "gooddreams", SPL_GOODDREAMS, "gooddreams",
(spell_f) sp_gooddreams, NULL}, sp_gooddreams, NULL},
{ {
SPL_ILLAUN_DESTROY_MAGIC, "illaundestroymagic", SPL_ILLAUN_DESTROY_MAGIC, "illaundestroymagic",
(spell_f) sp_destroy_magic, NULL}, sp_destroy_magic, NULL},
{ {
SPL_ILLAUN_FAMILIAR, "illaunfamiliar", SPL_ILLAUN_FAMILIAR, "illaunfamiliar",
(spell_f) sp_summon_familiar, NULL}, sp_summon_familiar, NULL},
{ {
SPL_CLONECOPY, "clone", SPL_CLONECOPY, "clone",
(spell_f) sp_clonecopy, NULL}, sp_clonecopy, NULL},
{ {
SPL_BADDREAMS, "bad_dreams", SPL_BADDREAMS, "bad_dreams",
(spell_f) sp_baddreams, NULL}, sp_baddreams, NULL},
{ {
SPL_MINDBLAST, "mindblast", SPL_MINDBLAST, "mindblast",
(spell_f) sp_mindblast_temp, NULL}, sp_mindblast_temp, NULL},
{ {
SPL_ORKDREAM, "orkdream", SPL_ORKDREAM, "orkdream",
(spell_f) sp_sweetdreams, NULL}, sp_sweetdreams, NULL},
{ {
SPL_SUMMON_ALP, "summon_alp", SPL_SUMMON_ALP, "summon_alp",
(spell_f) sp_summon_alp, NULL}, sp_summon_alp, NULL},
/* M_CERDDOR */ /* M_CERDDOR */
{ {
SPL_DENYATTACK, "appeasement", SPL_DENYATTACK, "appeasement",
(spell_f) sp_denyattack, NULL}, sp_denyattack, NULL},
{ {
SPL_HEALINGSONG, "song_of_healing", SPL_HEALINGSONG, "song_of_healing",
(spell_f) sp_healing, NULL}, sp_healing, NULL},
{ {
SPL_GENEROUS, "generous", SPL_GENEROUS, "generous",
(spell_f) sp_generous, NULL}, sp_generous, NULL},
{ {
SPL_SONG_OF_FEAR, "song_of_fear", SPL_SONG_OF_FEAR, "song_of_fear",
(spell_f) sp_flee, NULL}, sp_flee, NULL},
{ {
SPL_RECRUIT, "courting", SPL_RECRUIT, "courting",
(spell_f) sp_recruit, NULL}, sp_recruit, NULL},
{ {
SPL_SONG_OF_CONFUSION, "song_of_confusion", SPL_SONG_OF_CONFUSION, "song_of_confusion",
(spell_f) sp_chaosrow, NULL}, sp_chaosrow, NULL},
{ {
SPL_HERO, "heroic_song", SPL_HERO, "heroic_song",
(spell_f) sp_hero, NULL}, sp_hero, NULL},
{ {
SPL_TRANSFERAURA_BARDE, "transfer_aura_song", SPL_TRANSFERAURA_BARDE, "transfer_aura_song",
(spell_f) sp_transferaura, NULL}, sp_transferaura, NULL},
{ {
SPL_UNIT_ANALYSESONG, "analysesong_unit", SPL_UNIT_ANALYSESONG, "analysesong_unit",
(spell_f) sp_analysesong_unit, NULL}, sp_analysesong_unit, NULL},
{ {
SPL_CERRDOR_FUMBLESHIELD, "cerrdorfumbleshield", SPL_CERRDOR_FUMBLESHIELD, "cerrdorfumbleshield",
(spell_f) sp_fumbleshield, NULL}, sp_fumbleshield, NULL},
{SPL_CALM_MONSTER, "calm_monster", {SPL_CALM_MONSTER, "calm_monster",
(spell_f) sp_calm_monster, NULL}, sp_calm_monster, NULL},
{SPL_SEDUCE, "seduction", {SPL_SEDUCE, "seduction",
(spell_f) sp_seduce, NULL}, sp_seduce, NULL},
{ {
SPL_HEADACHE, "headache", SPL_HEADACHE, "headache",
(spell_f) sp_headache, NULL}, sp_headache, NULL},
{SPL_PUMP, "sound_out", {SPL_PUMP, "sound_out",
(spell_f) sp_pump, NULL}, sp_pump, NULL},
{ {
SPL_BLOODTHIRST, "bloodthirst", SPL_BLOODTHIRST, "bloodthirst",
(spell_f) sp_berserk, NULL}, sp_berserk, NULL},
{ {
SPL_FRIGHTEN, "frighten", SPL_FRIGHTEN, "frighten",
(spell_f) sp_frighten, NULL}, sp_frighten, NULL},
{ {
SPL_OBJ_ANALYSESONG, "analyse_object", SPL_OBJ_ANALYSESONG, "analyse_object",
(spell_f) sp_analysesong_obj, NULL}, sp_analysesong_obj, NULL},
{ {
SPL_CERDDOR_DESTROY_MAGIC, "cerddor_destroymagic", SPL_CERDDOR_DESTROY_MAGIC, "cerddor_destroymagic",
(spell_f) sp_destroy_magic, NULL}, sp_destroy_magic, NULL},
{ {
SPL_MIGRANT, "migration", SPL_MIGRANT, "migration",
(spell_f) sp_migranten, NULL}, sp_migranten, NULL},
{ {
SPL_CERDDOR_FAMILIAR, "summon_familiar", SPL_CERDDOR_FAMILIAR, "summon_familiar",
(spell_f) sp_summon_familiar, NULL}, sp_summon_familiar, NULL},
{ {
SPL_RAISEPEASANTS, "raise_mob", SPL_RAISEPEASANTS, "raise_mob",
(spell_f) sp_raisepeasants, NULL}, sp_raisepeasants, NULL},
{ {
SPL_SONG_RESISTMAGIC, "song_resist_magic", SPL_SONG_RESISTMAGIC, "song_resist_magic",
(spell_f) sp_song_resistmagic, NULL}, sp_song_resistmagic, NULL},
{ {
SPL_DEPRESSION, "melancholy", SPL_DEPRESSION, "melancholy",
(spell_f) sp_depression, NULL}, sp_depression, NULL},
{ {
SPL_SONG_SUSCEPTMAGIC, "song_suscept_magic", SPL_SONG_SUSCEPTMAGIC, "song_suscept_magic",
(spell_f) sp_song_susceptmagic, NULL}, sp_song_susceptmagic, NULL},
{ {
SPL_SONG_OF_PEACE, "song_of_peace", SPL_SONG_OF_PEACE, "song_of_peace",
(spell_f) sp_song_of_peace, NULL}, sp_song_of_peace, NULL},
{ {
SPL_SONG_OF_ENSLAVE, "song_of_slavery", SPL_SONG_OF_ENSLAVE, "song_of_slavery",
(spell_f) sp_charmingsong, NULL}, sp_charmingsong, NULL},
{ {
SPL_BIGRECRUIT, "big_recruit", SPL_BIGRECRUIT, "big_recruit",
(spell_f) sp_bigrecruit, NULL}, sp_bigrecruit, NULL},
{ {
SPL_RALLYPEASANTMOB, "calm_riot", SPL_RALLYPEASANTMOB, "calm_riot",
(spell_f) sp_rallypeasantmob, NULL}, sp_rallypeasantmob, NULL},
{ {
SPL_RAISEPEASANTMOB, "incite_riot", SPL_RAISEPEASANTMOB, "incite_riot",
(spell_f) sp_raisepeasantmob, NULL}, sp_raisepeasantmob, NULL},
/* M_TYBIED */ /* M_TYBIED */
{ {
SPL_ANALYSEMAGIC, "analyze_magic", SPL_ANALYSEMAGIC, "analyze_magic",
(spell_f) sp_analysemagic, NULL}, sp_analysemagic, NULL},
{ {
SPL_ITEMCLOAK, "concealing_aura", SPL_ITEMCLOAK, "concealing_aura",
(spell_f) sp_itemcloak, NULL}, sp_itemcloak, NULL},
{ {
SPL_TYBIED_FUMBLESHIELD, "tybiedfumbleshield", SPL_TYBIED_FUMBLESHIELD, "tybiedfumbleshield",
(spell_f) sp_fumbleshield, NULL}, sp_fumbleshield, NULL},
#ifdef SHOWASTRAL_NOT_BORKED #ifdef SHOWASTRAL_NOT_BORKED
{ {
SPL_SHOWASTRAL, "show_astral", SPL_SHOWASTRAL, "show_astral",
(spell_f) sp_showastral, NULL}, sp_showastral, NULL},
#endif #endif
{ {
SPL_RESISTMAGICBONUS, "resist_magic", SPL_RESISTMAGICBONUS, "resist_magic",
(spell_f) sp_resist_magic_bonus, NULL}, sp_resist_magic_bonus, NULL},
{ {
SPL_KEEPLOOT, "keeploot", SPL_KEEPLOOT, "keeploot",
(spell_f) sp_keeploot, NULL}, sp_keeploot, NULL},
{ {
SPL_ENTERASTRAL, "enterastral", SPL_ENTERASTRAL, "enterastral",
(spell_f) sp_enterastral, NULL}, sp_enterastral, NULL},
{ {
SPL_LEAVEASTRAL, "leaveastral", SPL_LEAVEASTRAL, "leaveastral",
(spell_f) sp_leaveastral, NULL}, sp_leaveastral, NULL},
{ {
SPL_TRANSFERAURA_ASTRAL, "auratransfer", SPL_TRANSFERAURA_ASTRAL, "auratransfer",
(spell_f) sp_transferaura, NULL}, sp_transferaura, NULL},
{ {
SPL_SHOCKWAVE, "shockwave", SPL_SHOCKWAVE, "shockwave",
(spell_f) sp_stun, NULL}, sp_stun, NULL},
{ {
SPL_ANTIMAGICZONE, "antimagiczone", SPL_ANTIMAGICZONE, "antimagiczone",
(spell_f) sp_antimagiczone, NULL}, sp_antimagiczone, NULL},
{ {
SPL_TYBIED_DESTROY_MAGIC, "destroy_magic", SPL_TYBIED_DESTROY_MAGIC, "destroy_magic",
(spell_f) sp_destroy_magic, NULL}, sp_destroy_magic, NULL},
{ {
SPL_PULLASTRAL, "pull_astral", SPL_PULLASTRAL, "pull_astral",
(spell_f) sp_pullastral, NULL}, sp_pullastral, NULL},
{ {
SPL_FETCHASTRAL, "fetch_astral", SPL_FETCHASTRAL, "fetch_astral",
(spell_f) sp_fetchastral, NULL}, sp_fetchastral, NULL},
{ {
SPL_STEALAURA, "steal_aura", SPL_STEALAURA, "steal_aura",
(spell_f) sp_stealaura, NULL}, sp_stealaura, NULL},
{ {
SPL_FLYING_SHIP, "airship", SPL_FLYING_SHIP, "airship",
(spell_f) sp_flying_ship, NULL}, sp_flying_ship, NULL},
{ {
SPL_DESTROY_MAGIC, "break_curse", SPL_DESTROY_MAGIC, "break_curse",
(spell_f) sp_break_curse, NULL}, sp_break_curse, NULL},
{ {
SPL_ETERNIZEWALL, "eternal_walls", SPL_ETERNIZEWALL, "eternal_walls",
(spell_f) sp_eternizewall, NULL}, sp_eternizewall, NULL},
{ {
SPL_SCHILDRUNEN, "protective_runes", SPL_SCHILDRUNEN, "protective_runes",
(spell_f) sp_magicrunes, NULL}, sp_magicrunes, NULL},
{ {
SPL_REDUCESHIELD, "fish_shield", SPL_REDUCESHIELD, "fish_shield",
(spell_f) sp_reduceshield, NULL}, sp_reduceshield, NULL},
{ {
SPL_SPEED, "combat_speed", SPL_SPEED, "combat_speed",
(spell_f) sp_speed, NULL}, sp_speed, NULL},
{ {
SPL_VIEWREALITY, "view_reality", SPL_VIEWREALITY, "view_reality",
(spell_f) sp_viewreality, NULL}, sp_viewreality, NULL},
{ {
SPL_SPEED2, "double_time", SPL_SPEED2, "double_time",
(spell_f) sp_speed2, NULL}, sp_speed2, NULL},
{ {
SPL_ARMORSHIELD, "armor_shield", SPL_ARMORSHIELD, "armor_shield",
(spell_f) sp_armorshield, NULL}, sp_armorshield, NULL},
{ {
SPL_TYBIED_FAMILIAR, "summon_familiar", SPL_TYBIED_FAMILIAR, "summon_familiar",
(spell_f) sp_summon_familiar, NULL}, sp_summon_familiar, NULL},
{ {
SPL_MOVECASTLE, "living_rock", SPL_MOVECASTLE, "living_rock",
(spell_f) sp_movecastle, NULL}, sp_movecastle, NULL},
{ {
SPL_DISRUPTASTRAL, "astral_disruption", SPL_DISRUPTASTRAL, "astral_disruption",
(spell_f) sp_disruptastral, NULL}, sp_disruptastral, NULL},
{ {
SPL_PERMTRANSFER, "sacrifice_strength", SPL_PERMTRANSFER, "sacrifice_strength",
(spell_f) sp_permtransfer, NULL}, sp_permtransfer, NULL},
/* M_GRAY */ /* M_GRAY */
/* Definitionen von Create_Artefaktspruechen */ /* Definitionen von Create_Artefaktspruechen */
{ {
SPL_METEORRAIN, "meteor_rain", SPL_METEORRAIN, "meteor_rain",
(spell_f) sp_kampfzauber, NULL}, sp_kampfzauber, NULL},
{ {
SPL_BECOMEWYRM, "wyrm_transformation", SPL_BECOMEWYRM, "wyrm_transformation",
(spell_f) sp_becomewyrm, NULL}, sp_becomewyrm, NULL},
/* Monstersprueche */ /* Monstersprueche */
{SPL_FIREDRAGONODEM, "fiery_dragonbreath", {SPL_FIREDRAGONODEM, "fiery_dragonbreath",
(spell_f) sp_dragonodem, NULL}, sp_dragonodem, NULL},
{SPL_DRAGONODEM, "icy_dragonbreath", {SPL_DRAGONODEM, "icy_dragonbreath",
(spell_f) sp_dragonodem, NULL}, sp_dragonodem, NULL},
{SPL_WYRMODEM, "powerful_dragonbreath", {SPL_WYRMODEM, "powerful_dragonbreath",
(spell_f) sp_dragonodem, NULL}, sp_dragonodem, NULL},
{SPL_DRAINODEM, "drain_skills", {SPL_DRAINODEM, "drain_skills",
(spell_f) sp_dragonodem, NULL}, sp_dragonodem, NULL},
{ {
SPL_AURA_OF_FEAR, "aura_of_fear", SPL_AURA_OF_FEAR, "aura_of_fear",
(spell_f) sp_flee, NULL}, sp_flee, NULL},
{ {
SPL_SHADOWCALL, "shadowcall", SPL_SHADOWCALL, "shadowcall",
(spell_f) sp_shadowcall, NULL}, sp_shadowcall, NULL},
{ {
SPL_IMMOLATION, "immolation", SPL_IMMOLATION, "immolation",
(spell_f) sp_immolation, NULL}, sp_immolation, NULL},
{SPL_FIREODEM, "firestorm", {SPL_FIREODEM, "firestorm",
(spell_f) sp_immolation, NULL}, sp_immolation, NULL},
{SPL_ICEODEM, "coldfront", {SPL_ICEODEM, "coldfront",
(spell_f) sp_immolation, NULL}, sp_immolation, NULL},
{SPL_ACIDODEM, "acidrain", {SPL_ACIDODEM, "acidrain",
(spell_f) sp_immolation, NULL}, sp_immolation, NULL},
/* SPL_NOSPELL MUSS der letzte Spruch der Liste sein */ /* SPL_NOSPELL MUSS der letzte Spruch der Liste sein */
{ {
SPL_NOSPELL, "no spell", SPL_NOSPELL, "no spell",
@ -7008,7 +7008,7 @@ border_type bt_chaosgate = {
static void set_spelldata_i(spell * sp, spelldata * data) static void set_spelldata_i(spell * sp, spelldata * data)
{ {
sp->sp_function = data->sp_function; sp->cast = data->sp_function;
sp->patzer = data->patzer; sp->patzer = data->patzer;
} }