flee_spell did not need an extra argument

checking for precombat spells is easy and safe!
This commit is contained in:
Enno Rehling 2021-03-22 20:34:55 +01:00
parent 6a07688ff3
commit a7d335b83a
3 changed files with 6 additions and 8 deletions

View File

@ -6195,21 +6195,21 @@ static int sp_flee(castorder *co) {
if (co->force <= 0) { if (co->force <= 0) {
return 0; return 0;
} }
return flee_spell(co, 4, false); return flee_spell(co, 4);
} }
static int sp_song_of_fear(castorder *co) { static int sp_song_of_fear(castorder *co) {
if (co->force <= 0) { if (co->force <= 0) {
return 0; return 0;
} }
return flee_spell(co, 3, true); return flee_spell(co, 3);
} }
static int sp_aura_of_fear(castorder *co) { static int sp_aura_of_fear(castorder *co) {
if (co->force <= 0) { if (co->force <= 0) {
return 0; return 0;
} }
return flee_spell(co, 5, false); return flee_spell(co, 5);
} }
static int sp_armor_shield(struct castorder * co) { static int sp_armor_shield(struct castorder * co) {

View File

@ -861,7 +861,7 @@ static bool select_afraid(const side *vs, const fighter *fig, void *cbdata)
/* Gesang der Furcht (Kampfzauber) */ /* Gesang der Furcht (Kampfzauber) */
/* Panik (Praekampfzauber) */ /* Panik (Praekampfzauber) */
int flee_spell(struct castorder * co, int strength, bool wounded) int flee_spell(struct castorder * co, int strength)
{ {
fighter * fi = co->magician.fig; fighter * fi = co->magician.fig;
int level = co->level; int level = co->level;
@ -882,7 +882,7 @@ int flee_spell(struct castorder * co, int strength, bool wounded)
return 0; return 0;
} }
fgs = select_fighters(b, fi->side, FS_ENEMY, wounded?select_afraid:select_alive, NULL); fgs = select_fighters(b, fi->side, FS_ENEMY, (co->sp->sptyp & PRECOMBATSPELL) ? select_afraid : select_alive, NULL);
scramble_fighters(fgs); scramble_fighters(fgs);
for (qi = 0, ql = fgs; force > 0 && ql; selist_advance(&ql, &qi, 1)) { for (qi = 0, ql = fgs; force > 0 && ql; selist_advance(&ql, &qi, 1)) {

View File

@ -1,8 +1,6 @@
#ifndef H_GC_COMBATSPELLS #ifndef H_GC_COMBATSPELLS
#define H_GC_COMBATSPELLS #define H_GC_COMBATSPELLS
#include <stdbool.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@ -38,7 +36,7 @@ extern "C" {
int sp_undeadhero(struct castorder * co); int sp_undeadhero(struct castorder * co);
int sp_immolation(struct castorder * co); int sp_immolation(struct castorder * co);
int flee_spell(struct castorder * co, int strength, bool wounded); int flee_spell(struct castorder * co, int strength);
int damage_spell(struct castorder * co, int dmg, int strength); int damage_spell(struct castorder * co, int dmg, int strength);
int armor_spell(struct castorder * co, int per_level, int time_multi); int armor_spell(struct castorder * co, int per_level, int time_multi);