On Tue, May 19, 2009 at 04:51:08PM -0500, John R. Dennison wrote: > Working, yes. Intended, I doubt that. It bears every > indication of a design flaw as does the legacy base refit > conditions. Yes, probably a design flaw, but I'm not going to change it, because it is too well known. It was present in 2.7pl5 released in early 1997. Not sure when the change actually turned up, but it is in interface.c where the Pearl Harbor (sic) message resides: if (!(me->p_war & owner)) { new_warning(41,"Must declare war first (no Pearl Harbor syndrome allowed here)."); return; } There was no mention of this code being added in the CHANGES file, which takes us back to 1993. Prior to that code being added, the ntserv would set PFBOMB and the daemon would ignore it until war was declared: /* do bombing */ if ((!(j->p_flags & PFORBIT)) || (!(j->p_flags & PFBOMB))) continue; l = &planets[j->p_planet]; if (j->p_team == l->pl_owner) continue; if (!(j->p_war & l->pl_owner)) continue; if (l->pl_armies < 5) continue; So without that added code, the effect would have been the same. > Please note, I am not advocating changing it from the way > it currently operates. I would, however, suggest documenting > this behavior somewhere as it's not how one would expect it > to function. Where would we document it and why? Client xtrekrc options could be renamed "CHEAT CODES" to better appeal to the newer community, perhaps this feature could be labelled a "CHEAT" even though it is intentional. -- James Cameron mailto:quozl at us.netrek.org http://quozl.netrek.org/