Skip to content

Attack % uses pre-hydro troops (race condition) #1985

@abdallahbahrawi1

Description

@abdallahbahrawi1

Describe the bug
When you queue a % attack right After a Hydro lands, the game uses the pre-Hydro troop count to calculate the send. If the Hydro destroys cities and lowers max/current troops before the attack actually fires, the queued attack still sends the larger, pre-Hydro amount.

To Reproduce

1- Have ~800k troops and set Attack Ratio to 50%.

2- Queue a 50% attack on a target. (This queues ~400k.)

3- Before the attack packet resolves, a Hydro hits your cities, destroying ~8 cities and dropping your max/current troops to ~400k.

4- Send attack right after that and observe the queued attack still sends ~400k (the pre-Hydro calc), instead of recalculating to ~200k (50% of post-Hydro troops).

Expected behavior
Queued % attacks should be calculated at send time (or upon any state-changing event like Hydro) using the current troop count. In the example, the attack should send ~200k (50% of 400k) after the Hydro, not ~400k.

I uploaded a video that illustrates the bug.
https://drive.google.com/file/d/1PiwzDf0SaMNqLS3LUOQq43Big1bCISvl/view?usp=sharing

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status

    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions