From: Markus Armbruster Date: Sat, 21 Feb 2015 17:12:07 +0000 (+0100) Subject: ef_verify: Require ship glim != 0 with capability dchrg X-Git-Tag: v4.3.33~34 X-Git-Url: http://git.pond.sub.org/?p=empserver;a=commitdiff_plain;h=c3a26dc8994810e5aaf0b4141c7a9c6914dfec68 ef_verify: Require ship glim != 0 with capability dchrg Because the fire command doesn't work with zero glim (commit a109de9). Signed-off-by: Markus Armbruster --- diff --git a/src/lib/common/ef_verify.c b/src/lib/common/ef_verify.c index 770634f9d..6d3a1e73d 100644 --- a/src/lib/common/ef_verify.c +++ b/src/lib/common/ef_verify.c @@ -28,7 +28,7 @@ * * Known contributors to this file: * Ron Koenderink, 2005 - * Markus Armbruster, 2006-2014 + * Markus Armbruster, 2006-2015 */ #include @@ -314,6 +314,25 @@ verify_nukes(int may_put) return retval; } +static int +verify_ship_chr(void) +{ + int retval = 0; + int i; + + for (i = 0; mchr[i].m_name; i++) { + if (!mchr[i].m_name[0]) + continue; + if ((mchr[i].m_flags & M_DCH) && !mchr[i].m_glim) { + verify_fail(EF_SHIP_CHR, i, NULL, 0, + "flag %s requires non-zero glim", + symbol_by_value(M_DCH, ship_chr_flags)); + retval = -1; + } + } + return retval; +} + static int verify_products(void) { @@ -350,6 +369,7 @@ ef_verify_config(void) } /* Special checks */ + retval |= verify_ship_chr(); retval |= verify_products(); return retval; }