ef_verify: Require land unit milit == 0 with capability spy
The rules for spy units make little sense unless spies carry no military. For instance, spies die when they take casualties in ground combat. There seems to be a tacit assumption that spies have no military. I don't trust the code to behave unless this assumption is met. Require it before an overly adventurous deity finds out the painful way that spies with military don't work. Signed-off-by: Markus Armbruster <armbru@pond.sub.org>
This commit is contained in:
parent
73e7765981
commit
33800fc732
1 changed files with 19 additions and 0 deletions
|
@ -358,6 +358,24 @@ verify_plane_chr(void)
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
verify_land_chr(void)
|
||||||
|
{
|
||||||
|
int retval = 0;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; lchr[i].l_name; i++) {
|
||||||
|
if (!lchr[i].l_name[0])
|
||||||
|
continue;
|
||||||
|
if ((lchr[i].l_flags & L_SPY) && lchr[i].l_item[I_MILIT]) {
|
||||||
|
verify_fail(EF_PLANE_CHR, i, NULL, 0,
|
||||||
|
"flag %s requires zero milit",
|
||||||
|
symbol_by_value(L_SPY, land_chr_flags));
|
||||||
|
retval = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return retval;
|
||||||
|
}
|
||||||
static int
|
static int
|
||||||
verify_products(void)
|
verify_products(void)
|
||||||
{
|
{
|
||||||
|
@ -395,6 +413,7 @@ ef_verify_config(void)
|
||||||
/* Special checks */
|
/* Special checks */
|
||||||
retval |= verify_ship_chr();
|
retval |= verify_ship_chr();
|
||||||
retval |= verify_plane_chr();
|
retval |= verify_plane_chr();
|
||||||
|
retval |= verify_land_chr();
|
||||||
retval |= verify_products();
|
retval |= verify_products();
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue