Skip to content

Commit

Permalink
Merge pull request #893 from JasperLorelai/main
Browse files Browse the repository at this point in the history
Cast time interrupt spell filter
  • Loading branch information
Chronoken authored May 16, 2024
2 parents ba6c50b + ee66b49 commit 3d80d93
Showing 1 changed file with 5 additions and 0 deletions.
5 changes: 5 additions & 0 deletions core/src/main/java/com/nisovin/magicspells/Spell.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,8 @@ public abstract class Spell implements Comparable<Spell>, Listener {
protected ModifierSet targetModifiers;
protected ModifierSet locationModifiers;

private final SpellFilter interruptFilter;

protected Subspell spellOnFail;
protected Subspell spellOnInterrupt;

Expand Down Expand Up @@ -277,6 +279,7 @@ public Spell(MagicConfig config, String spellName) {

// Cast time
castTime = getConfigDataInt("cast-time", 0);
interruptFilter = getConfigSpellFilter("interrupt-filter");
interruptOnMove = getConfigDataBoolean("interrupt-on-move", true);
interruptOnCast = getConfigDataBoolean("interrupt-on-cast", true);
interruptOnDamage = getConfigDataBoolean("interrupt-on-damage", false);
Expand Down Expand Up @@ -2645,6 +2648,7 @@ public void onSpellCast(SpellCastEvent event) {
if (!interruptOnCast) return;
if (event.getSpell() instanceof PassiveSpell) return;
if (!event.getCaster().equals(caster)) return;
if (!interruptFilter.isEmpty() && interruptFilter.check(event.getSpell())) return;

interrupt();
}
Expand Down Expand Up @@ -2757,6 +2761,7 @@ public void onSpellCast(SpellCastEvent event) {
if (!interruptOnCast) return;
if (event.getSpell() instanceof PassiveSpell) return;
if (!caster.equals(event.getCaster())) return;
if (!interruptFilter.isEmpty() && interruptFilter.check(event.getSpell())) return;

interrupt();
}
Expand Down

0 comments on commit 3d80d93

Please sign in to comment.