[Freeciv-tickets] [freeciv] #42960: firepower of ship not reduced when attacking from city

Zurück zum Archiv-Index
OSDN Ticket System norep****@osdn*****
Fri Oct 1 16:09:42 JST 2021


#42960: firepower of ship not reduced when attacking from city

       登録: 2021-10-01 04:06
   最終更新: 2021-10-01 16:09

このチケットのURL:
    https://osdn.net//projects/freeciv/ticket/42960
このチケットのRSS feed:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=42960

---------------------------------------------------------------------

このチケットの最終修正/コメント:
2021-10-01 16:09 更新者: log65536

コメント:

Writing at the same time - this was nice :)

---------------------------------------------------------------------
チケットの状態:

        報告者: log65536
        担当者: (未割り当て)
チケットの種類: バグ
          状況: オープン
        優先度: 5 - 中
マイルストーン: (未割り当て)
コンポーネント: General
        重要度: 5 - 中
        解決法: なし
---------------------------------------------------------------------

チケットの詳細:

It is an old rule that when a ship attacks a land unit, both firepowers are reduced to 1.
Problem is, GNAPATCH#3830 (github commit here) seems to have unintentionally caused a rule change: after this commit, the firepowers are not reduced when the ship attacks from a city.
This has strategic implications, as it makes ships useful as fire-back city defenders against land assaults.
To reproduce, open attached savegame, take the Spanish, activate the Cruiser in Barcelona, and inspect the chance to win against the Austrian Mech. Inf.
If you do this in 2.5, the chance is 50%; if you do it in 3.0.0-beta2, the chance is 98%.
The easiest fix would be to just add a hard-coded check for the attacker-in-city case.
Alternatively, since the patch originally introduced the offending check !can_exist_at_tile(unit_type(defender), unit_tile(attacker)) with the sole purpose to handle the attacker-ship-offshore/defender-ship-in-city case, maybe replace it with a simple literal check for defender-in-city, and refrain from considering the attacker tile altogether.
In any case, the discussion in GNAPATCH#3830 makes it clear that formulating this via tile nativity is very confusing. And the rationale behind this rule is hard to generalize -- it makes sense for classic, but is it the right thing to do in other rulesets? Maybe this should not be hard coded. Currently there is a "FirePower1" bonus to reduce defender firepower, maybe something similar can be added to also reduce attacker firepower. In that case, the logic that the classic ruleset needs to express becomes quite simple: reduce both firepowers to 1 when a Sea unit attacks a Land unit, irrespective of terrain (since classic Land units cannot defend on oceanic terrain anyway).


-- 
Freeciv プロジェクトのチケット情報です
Freeciv プロジェクトはOSDNにホスティングされています

プロジェクト URL: https://osdn.net/projects/freeciv/
OSDN: https://osdn.net

このチケットのURL:
    https://osdn.net/projects/freeciv/ticket/42960
このチケットのRSS feed:
    https://osdn.net/ticket/ticket_rss.php?group_id=12505&tid=42960



More information about the Freeciv-tickets mailing list
Zurück zum Archiv-Index