Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2002:
[Freeciv-Dev] Testers wanted for units flags patch
Home

[Freeciv-Dev] Testers wanted for units flags patch

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: <freeciv-dev@xxxxxxxxxxx>
Subject: [Freeciv-Dev] Testers wanted for units flags patch
From: <per@xxxxxxxxxxx>
Date: Thu, 16 May 2002 03:19:35 +0200 (MEST)

This patch started out as a simple, innocent little thing, implementing
two straightforward (or so I thought) flags: F_UNIQUE and F_GAMELOSS. But
this is an all too common tale of patches that just keep on growing as
they encounter the unexpected...

Now, in its 12th version, it has grown into a baby mammoth, implementing
gameloss properly through an extendable trigger mechanism (using
genlists), which can be used later for server side scripts or events
rulesets, implementing the unit flags F_GAMELOSS, F_UNIQUE, F_SUPERSPY,
F_UNDISBANDABLE, F_NOHOME and F_UNBRIBABLE, and, since that burst the 32
bit limit on unit flags, spawned another patch expanding this limit
(posted earlier).

F_SUPERSPY gives you always successful spies, or non-spy units that can
defend cities from diplomats/spies 100% of the time. F_UNDISBANDABLE gives
you units that you can't disband, that won't drown (if you think you are
smart and put them in a trireme then disband it to get rid of this unit,
think again) and won't even let you starve them to death. If you don't
give it enough food, it'll kill one citizen/turn instead, until the city
is history. Nasty critters, eh.

F_UNBRIBABLE is self-explanatory, but note that it does not prevent a city
the unit is in from being incited. That is what the superspy is there for.
It also does not prevent it from being incited along with its homecity.
That's what the F_NOHOME flag is there for, making the unit homecity free
(and also, note, upkeep free since upkeep is tied to homecity). Finally,
there is F_UNIQUE which means only one can be in action at a time per
civilization, and F_GAMELOSS which means you die if you lose that unit.

Problem with this patch is that it implements so many new, possible game
mechanics that it gets really hard to test it all properly. So can
somebody please help out? Add the new flags somewhere in units.ruleset,
and check if your ideas on what should and shouldn't work check out.

And please, somebody, read and review the patch...

Yours,
Per

"Treason doth never prosper: what's the reason?
Why, if it prosper, none dare call it treason."
 -- Sir John Harrington (1561-1612)

Attachment: newflags1.patch.gz
Description: Binary data


[Prev in Thread] Current Thread [Next in Thread]