magefree / magefree/mage

First strike is bugged when an attacking band is multiblocked

Open
#12,000 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

When an attacking band (i.e. group consisting of 1+ creatures with banding and 0-1 nonbanding creatures) is blocked by at least two creatures, and there's a creature with first strike among either the blockers or the attackers, the attacking band takes extra damage that shouldn't be there.

The extra damage is dependent on which side has the creature with first strike.

If there's any blocking creatures with first strike, each of them deals damage equal to their power to all the creatures in the attacking band during the first strike damage step. This is the extra damage part.

Then after that, still during the first strike damage step, the controller of the attacking band distributes damage equal to the power of the first strikers to the band. This is as it should work, except without the extra damage.

If there's a creature with first strike in the attacking band, it deals its first strike damage normally. However, during the regular combat damage step after the first strike damage step, the attacking creature with first strike takes extra combat damage equal to the combined power of all the blocking creatures (except those with first strike).

Then after that, the controller of the attacking band distributes damage equal to the power of the blocking creatures (except those with first strike) to the attacking band. This is again as it should work, except without the extra damage.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the multiblocked attacking-band scenario with first strike on the attackers and then on the blockers. Trace combat damage through both the first-strike and regular damage steps, and confirm that the extra band-wide damage is removed while the intended damage assignment remains.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.