null check fixes

This commit is contained in:
xenohedron 2024-04-04 22:19:03 -04:00
parent 4cd8e99bce
commit 83aadadec4
2 changed files with 6 additions and 7 deletions

View file

@ -68,19 +68,16 @@ class MindbladeRenderTriggeredAbility extends TriggeredAbilityImpl {
@Override
public boolean checkTrigger(GameEvent event, Game game) {
Player controller = game.getPlayer(getControllerId());
if (controller == null) {
return false;
}
DamagedBatchForOnePlayerEvent dEvent = (DamagedBatchForOnePlayerEvent) event;
if (!controller.hasOpponent(dEvent.getTargetId(), game)){
return false;
}
if (!dEvent.isCombatDamage()){
if (!dEvent.isCombatDamage()) {
return false;
}
@ -88,7 +85,7 @@ class MindbladeRenderTriggeredAbility extends TriggeredAbilityImpl {
.stream()
.filter(ev -> {
Permanent attacker = game.getPermanentOrLKIBattlefield(ev.getSourceId());
return attacker.hasSubtype(SubType.WARRIOR, game);
return attacker != null && attacker.hasSubtype(SubType.WARRIOR, game);
})
.mapToInt(GameEvent::getAmount)
.sum();

View file

@ -91,10 +91,12 @@ class TheRavensWarningTriggeredAbility extends DelayedTriggeredAbility {
int flyingDamage = dEvent.getEvents()
.stream()
.filter(ev -> ev.getSourceId().equals(controllerId))
.filter(ev -> {
if (!ev.getSourceId().equals(controllerId)) {
return false;
}
Permanent permanent = game.getPermanentOrLKIBattlefield(ev.getSourceId());
return permanent.isCreature() && permanent.hasAbility(FlyingAbility.getInstance(), game);
return permanent != null && permanent.isCreature() && permanent.hasAbility(FlyingAbility.getInstance(), game);
})
.mapToInt(GameEvent::getAmount)
.sum();