forked from github/server
harmless refactoring: create RC_SPELL units from a common function.
This commit is contained in:
parent
87873702ca
commit
de58fa6aa0
2 changed files with 14 additions and 21 deletions
34
src/spells.c
34
src/spells.c
|
@ -4111,6 +4111,14 @@ static int sp_bigrecruit(castorder * co)
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void watch_region(region *r, faction *f, int perception) {
|
||||||
|
unit *u;
|
||||||
|
|
||||||
|
u = create_unit(r, f, 1, get_race(RC_SPELL), 0, NULL, NULL);
|
||||||
|
u->age = 2;
|
||||||
|
set_level(u, SK_PERCEPTION, perception);
|
||||||
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
/* Name: Aushorchen
|
/* Name: Aushorchen
|
||||||
* Stufe: 7
|
* Stufe: 7
|
||||||
|
@ -4167,12 +4175,7 @@ static int sp_pump(castorder * co)
|
||||||
return cast_level / 2;
|
return cast_level / 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
u =
|
watch_region(rt, mage->faction, effskill(target, SK_PERCEPTION, 0));
|
||||||
create_unit(rt, mage->faction, 1, get_race(RC_SPELL), 0,
|
|
||||||
"spell/pump", NULL);
|
|
||||||
u->age = 2;
|
|
||||||
set_level(u, SK_PERCEPTION, effskill(target, SK_PERCEPTION, 0));
|
|
||||||
|
|
||||||
return cast_level;
|
return cast_level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4778,7 +4781,7 @@ int sp_clonecopy(castorder * co)
|
||||||
/* ------------------------------------------------------------- */
|
/* ------------------------------------------------------------- */
|
||||||
int sp_dreamreading(castorder * co)
|
int sp_dreamreading(castorder * co)
|
||||||
{
|
{
|
||||||
unit *u, *u2;
|
unit *u;
|
||||||
region *r = co_get_region(co);
|
region *r = co_get_region(co);
|
||||||
unit *mage = co->magician.u;
|
unit *mage = co->magician.u;
|
||||||
int cast_level = co->level;
|
int cast_level = co->level;
|
||||||
|
@ -4811,11 +4814,7 @@ int sp_dreamreading(castorder * co)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
u2 =
|
watch_region(u->region, mage->faction, effskill(u, SK_PERCEPTION, u->region));
|
||||||
create_unit(u->region, mage->faction, 1, get_race(RC_SPELL), 0,
|
|
||||||
"spell/dreamreading", NULL);
|
|
||||||
u2->age = 2; /* Nur fuer diese Runde. */
|
|
||||||
set_level(u2, SK_PERCEPTION, effskill(u, SK_PERCEPTION, u2->region));
|
|
||||||
|
|
||||||
msg =
|
msg =
|
||||||
msg_message("sp_dreamreading_effect", "mage unit region", mage, u,
|
msg_message("sp_dreamreading_effect", "mage unit region", mage, u,
|
||||||
|
@ -5612,7 +5611,7 @@ int sp_showastral(castorder * co)
|
||||||
region *r2 = rl2->data;
|
region *r2 = rl2->data;
|
||||||
if (!is_cursed(r2->attribs, C_ASTRALBLOCK, 0)) {
|
if (!is_cursed(r2->attribs, C_ASTRALBLOCK, 0)) {
|
||||||
for (u = r2->units; u; u = u->next) {
|
for (u = r2->units; u; u = u->next) {
|
||||||
if (u_race(u) != get_race(RC_SPECIAL) && u_race(u) != get_race(RC_SPELL))
|
if (u_race(u) != get_race(RC_SPELL))
|
||||||
n++;
|
n++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5632,7 +5631,7 @@ int sp_showastral(castorder * co)
|
||||||
for (rl2 = rl; rl2; rl2 = rl2->next) {
|
for (rl2 = rl; rl2; rl2 = rl2->next) {
|
||||||
if (!is_cursed(rl2->data->attribs, C_ASTRALBLOCK, 0)) {
|
if (!is_cursed(rl2->data->attribs, C_ASTRALBLOCK, 0)) {
|
||||||
for (u = rl2->data->units; u; u = u->next) {
|
for (u = rl2->data->units; u; u = u->next) {
|
||||||
if (u_race(u) != get_race(RC_SPECIAL) && u_race(u) != get_race(RC_SPELL)) {
|
if (u_race(u) != get_race(RC_SPELL)) {
|
||||||
c++;
|
c++;
|
||||||
scat(unitname(u));
|
scat(unitname(u));
|
||||||
scat(" (");
|
scat(" (");
|
||||||
|
@ -5670,7 +5669,6 @@ int sp_showastral(castorder * co)
|
||||||
int sp_viewreality(castorder * co)
|
int sp_viewreality(castorder * co)
|
||||||
{
|
{
|
||||||
region_list *rl, *rl2;
|
region_list *rl, *rl2;
|
||||||
unit *u;
|
|
||||||
region *r = co_get_region(co);
|
region *r = co_get_region(co);
|
||||||
unit *mage = co->magician.u;
|
unit *mage = co->magician.u;
|
||||||
int cast_level = co->level;
|
int cast_level = co->level;
|
||||||
|
@ -5689,11 +5687,7 @@ int sp_viewreality(castorder * co)
|
||||||
for (rl2 = rl; rl2; rl2 = rl2->next) {
|
for (rl2 = rl; rl2; rl2 = rl2->next) {
|
||||||
region *rt = rl2->data;
|
region *rt = rl2->data;
|
||||||
if (!is_cursed(rt->attribs, C_ASTRALBLOCK, 0)) {
|
if (!is_cursed(rt->attribs, C_ASTRALBLOCK, 0)) {
|
||||||
u =
|
watch_region(rt, mage->faction, co->level / 2);
|
||||||
create_unit(rt, mage->faction, 1, get_race(RC_SPELL), 0,
|
|
||||||
"spell/viewreality", NULL);
|
|
||||||
set_level(u, SK_PERCEPTION, co->level / 2);
|
|
||||||
u->age = 2;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,6 @@ extern "C" {
|
||||||
struct message;
|
struct message;
|
||||||
|
|
||||||
void register_spells(void);
|
void register_spells(void);
|
||||||
void set_spelldata(struct spell *sp);
|
|
||||||
|
|
||||||
int sp_baddreams(castorder * co);
|
int sp_baddreams(castorder * co);
|
||||||
int sp_gooddreams(castorder * co);
|
int sp_gooddreams(castorder * co);
|
||||||
|
|
Loading…
Reference in a new issue