forked from github/server
refactor unholy power, extract function
This commit is contained in:
parent
6ec99af4d6
commit
e6677806b6
1 changed files with 18 additions and 11 deletions
29
src/spells.c
29
src/spells.c
|
@ -2730,6 +2730,22 @@ static int sp_firewall(castorder * co)
|
||||||
* (SPELLLEVEL | TESTCANSEE)
|
* (SPELLLEVEL | TESTCANSEE)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static race *unholy_race(const race *rc) {
|
||||||
|
race *target_race = NULL;
|
||||||
|
switch (old_race(rc)) {
|
||||||
|
case RC_SKELETON:
|
||||||
|
target_race = get_race(RC_SKELETON_LORD);
|
||||||
|
break;
|
||||||
|
case RC_ZOMBIE:
|
||||||
|
target_race = get_race(RC_ZOMBIE_LORD);
|
||||||
|
break;
|
||||||
|
case RC_GHOUL:
|
||||||
|
target_race = get_race(RC_GHOUL_LORD);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return target_race;
|
||||||
|
}
|
||||||
|
|
||||||
static int sp_unholypower(castorder * co)
|
static int sp_unholypower(castorder * co)
|
||||||
{
|
{
|
||||||
region * r = co_get_region(co);
|
region * r = co_get_region(co);
|
||||||
|
@ -2752,17 +2768,8 @@ static int sp_unholypower(castorder * co)
|
||||||
|
|
||||||
u = pa->param[i]->data.u;
|
u = pa->param[i]->data.u;
|
||||||
|
|
||||||
switch (old_race(u_race(u))) {
|
target_race = unholy_race(u_race(u));
|
||||||
case RC_SKELETON:
|
if (!target_race) {
|
||||||
target_race = get_race(RC_SKELETON_LORD);
|
|
||||||
break;
|
|
||||||
case RC_ZOMBIE:
|
|
||||||
target_race = get_race(RC_ZOMBIE_LORD);
|
|
||||||
break;
|
|
||||||
case RC_GHOUL:
|
|
||||||
target_race = get_race(RC_GHOUL_LORD);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
cmistake(mage, co->order, 284, MSG_MAGIC);
|
cmistake(mage, co->order, 284, MSG_MAGIC);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue