Improve attachment to permanent logic; implement [PIP] Codsworth, Handy Helper (#12098)

* [PIP] Implement Codsworth, Handy Helper

* Fix Codsworth and Halvar

* Write tests for attachments

* Fix auras going to graveyard when attaching to illegal targets

* Fix Captured by the Consulate interaction

* Fix failing tests, add additional test

* Add source name to log message

* Implement requested changes

* Revert removed null check

* Remove filter check, clean up code

* Add additional test

* Fix failing roles test

* Account for all current attachment edge cases

* Implement rule 303.4g

* Apply requested changes
This commit is contained in:
PurpleCrowbar 2024-08-24 06:03:33 +01:00 committed by GitHub
parent 9fcbfdeac6
commit 8d249aa691
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 580 additions and 20 deletions

View file

@ -409,7 +409,7 @@ public abstract class TargetImpl implements Target {
illegalTargets.add(targetId);
continue;
}
if (!stillLegalTarget(targetId, source, game)) {
if (!stillLegalTarget(source.getControllerId(), targetId, source, game)) {
illegalTargets.add(targetId);
}
}
@ -546,8 +546,8 @@ public abstract class TargetImpl implements Target {
}
@Override
public boolean stillLegalTarget(UUID id, Ability source, Game game) {
return canTarget(id, source, game);
public boolean stillLegalTarget(UUID controllerId, UUID id, Ability source, Game game) {
return canTarget(controllerId, id, source, game);
}
@Override