forked from github/server
combat spell functions have the same interface as spells now.
This commit is contained in:
parent
360f00d44f
commit
06a4a7051b
|
@ -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;
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue