Implementing "collect evidence" mechanic (#11671)

* [MKM] Implement Axebane Ferox

* add exile to cost, fix text

* add targeting message copied from crew ability

* [MKM] Implement Forensic Researcher

* [MKM] Implement Izoni, Center of the Web

* implement requested changes

* merge fix

* [MKM] Implement Sample Collector

* [MKM] Implement Evidence Examiner

* [MKM] Implement Surveillance Monitor

* [MKM] Implement Vitu-Ghazi Inspector

* [MKM] Implement Crimestopper Sprite

* [MKM] Implement Urgent Necropsy

* [MKM] Implement Analyze the Pollen

* implement requested changes

* add can pay cost check to counter unless pays effect

* fix test failure

* add tests

* fix prompt message
This commit is contained in:
Evan Kranzler 2024-01-27 20:26:14 -05:00 committed by GitHub
parent 322c49e37f
commit 99c2ffa231
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 1162 additions and 4 deletions

View file

@ -0,0 +1,37 @@
package mage.abilities.common;
import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.events.GameEvent;
/**
* @author TheElk801
*/
public class CollectEvidenceTriggeredAbility extends TriggeredAbilityImpl {
public CollectEvidenceTriggeredAbility(Effect effect, boolean optional) {
super(Zone.BATTLEFIELD, effect, optional);
setTriggerPhrase("Whenever you collect evidence, ");
}
private CollectEvidenceTriggeredAbility(final CollectEvidenceTriggeredAbility ability) {
super(ability);
}
@Override
public CollectEvidenceTriggeredAbility copy() {
return new CollectEvidenceTriggeredAbility(this);
}
@Override
public boolean checkEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.EVIDENCE_COLLECTED;
}
@Override
public boolean checkTrigger(GameEvent event, Game game) {
return isControlledBy(event.getPlayerId());
}
}