Jacob Nevins wrote:
> (Since I wasn't sure: this is referring to normal attack that the comments
> call "bombardment", not the technical meaning of "bombard" that UTYF_BOMBARDER
> units do. That has its own hardcoded restrictions on terrain type, but fixing
> that should be the subject of a separate ticket.)

    Regarding those: is there any documentation of the rationale for the 
UTYF_BOMBARDER restrictions?  I've looked at them a few times, but don't 
have a clear idea of the intention behind the various restrictions.  At 
least in some places, the comments and code don't seem to match at all 
(e.g. the error about being transported when testing is_ocean_tile() in 
unithand.c:unit_move_handling()).  The particular restriction that 
confuses me the most is that one cannot bombard while in transport (from 
unit.c:can_unit_bombard()), even if the tile is native, so that a player 
could disembark the unit, bombard, and reembark the unit (thereby 
increasing pointless micromanagement).

    Looking at some of the rulesets that use bombarder, one interesting 
use I found was having bombers and helicopters as bombarders, which 
fought normally against units at sea (kill and be killed), but only 
weakened units on land (from LTex28B), although the behaviour in this 
ruleset of a bomber attacking a helicopter changes based on the terrain 
beneath the helicopter: perhaps this is not yet a complete idea.

    One thought I had was to remove all hardcoded terrain and transport 
restrictions, allow bombard if can_exist_at_tile() when the target has 
UCF_CAN_FORTIFY and otherwise perform a normal attack, but I don't know 
if there are uses of bombarders that would be broken with such a 
solution, or if regardless of current uses, there is an interest in 
making it even more general (e.g. using another vector to determine 
targets or similar).


Freeciv-dev mailing list

Reply via email to