Follow-up Comment #5, patch #5306 (project freeciv):
Thank you for you new patch. After reading it I have some more feed back. Let
me know if I read it wrong.
Expelling a diplomat will send him home. My suggestion is to send him to his
capital. (Capital of the expelled unit, not the capital of the unit doing the
expulsion) This creates a corner case for players without a capital. You could
add that the expelled unit has a capital as a hard coded requirement to the
action and as an assertion to the function doing the expelling. An alternative
is to use the unit's home city. That creates another corner case: units
without a home city.
The action should be documented in doc/README.actions
If a singe unit (not a stack) is expelled:
* change names. "expel units" -> "expel unit", etc
* the clients should send the target unit, not the target tile
Why do you define a unit lost reason? The unit is sent home, not killed.
Why would anyone become a veteran from expelling a unit? This will be used to
let players expel diplomats they can't kill because of a peace treaty. Don't
assume a battle here.
Why hard code that you can't expel your own units? A ruleset author may use
the action to create a unit that will teleport a unit to its capital/home
city/etc. A ruleset like that may even wish to limit the action to domestic
units.
Some examples that may be useful to read:
* diplomat_bribe() and spy_sabotage_unit() in diplomats.c - performs (spy)
actions with a unit target
* teleport_unit_to_city() in unittools - function that moves a unit to a
city. Maybe you can use it directly?
_______________________________________________________
Reply to this item at:
<http://gna.org/patch/?5306>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev