From 1f2df6daf5ead36dffca1476d2da3ec4d7d1a30f Mon Sep 17 00:00:00 2001 From: Sollace Date: Tue, 21 May 2024 22:47:21 +0100 Subject: [PATCH] Fix: Fix casting # Conflicts: # src/main/java/com/minelittlepony/unicopia/ability/UnicornCastingAbility.java # Conflicts: # src/main/java/com/minelittlepony/unicopia/ability/UnicornCastingAbility.java --- .../unicopia/ability/UnicornCastingAbility.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/ability/UnicornCastingAbility.java b/src/main/java/com/minelittlepony/unicopia/ability/UnicornCastingAbility.java index d47f098d..44edde82 100644 --- a/src/main/java/com/minelittlepony/unicopia/ability/UnicornCastingAbility.java +++ b/src/main/java/com/minelittlepony/unicopia/ability/UnicornCastingAbility.java @@ -107,8 +107,8 @@ public class UnicornCastingAbility extends AbstractSpellCastingAbility { } } - boolean hasExact = player.getSpellSlot().contains(spell); - boolean removed = !spell.isStackable() && player.getSpellSlot().removeWhere(s -> s.findMatches(spell.type()).findAny().isPresent(), true); + boolean hasExact = !spell.isStackable() && player.getSpellSlot().contains(s -> !s.getTypeAndTraits().isStackable() && spell.test(s)); + boolean removed = !spell.isStackable() && player.getSpellSlot().removeWhere(s -> !s.getTypeAndTraits().isStackable() && s.findMatches(spell.type()).findAny().isPresent(), true); player.subtractEnergyCost(removed ? 2 : 4); if (!hasExact && !spell.isEmpty()) { Spell s = spell.apply(player, CastingMethod.DIRECT);