From 8917e37a6d35230a5c7b75ac8f89428edf1aabd2 Mon Sep 17 00:00:00 2001 From: Kam Date: Fri, 6 Feb 2026 20:25:37 -0500 Subject: [PATCH] Dual Mode Support --- java/noppes/npcs/api/ability/IAbility.java | 17 +++++++++++++++++ .../npcs/api/ability/type/IAbilityDisc.java | 18 ++++++++++++++++++ .../api/ability/type/IAbilityEnergyBeam.java | 18 ++++++++++++++++++ .../npcs/api/ability/type/IAbilityOrb.java | 18 ++++++++++++++++++ 4 files changed, 71 insertions(+) diff --git a/java/noppes/npcs/api/ability/IAbility.java b/java/noppes/npcs/api/ability/IAbility.java index aca46fe..6db00a6 100644 --- a/java/noppes/npcs/api/ability/IAbility.java +++ b/java/noppes/npcs/api/ability/IAbility.java @@ -216,4 +216,21 @@ public interface IAbility { * Set this ability's data from NBT. */ void setNbt(INbt nbt); + + // Burst system + + boolean isBurstEnabled(); + void setBurstEnabled(boolean enabled); + + int getBurstAmount(); + void setBurstAmount(int amount); + + int getBurstDelay(); + void setBurstDelay(int delay); + + boolean isBurstReplayAnimations(); + void setBurstReplayAnimations(boolean replay); + + boolean isBurstOverlap(); + void setBurstOverlap(boolean overlap); } diff --git a/java/noppes/npcs/api/ability/type/IAbilityDisc.java b/java/noppes/npcs/api/ability/type/IAbilityDisc.java index f4a6b4f..8460cbe 100644 --- a/java/noppes/npcs/api/ability/type/IAbilityDisc.java +++ b/java/noppes/npcs/api/ability/type/IAbilityDisc.java @@ -73,4 +73,22 @@ public interface IAbilityDisc extends IAbility { */ int getAnchorPoint(); void setAnchorPoint(int point); + + // Dual/Projectile count + + int getProjectileCount(); + void setProjectileCount(int count); + + int getDualFireDelay(); + void setDualFireDelay(int delay); + + // Indexed accessors (for dual mode) + int getInnerColor(int projectileIndex); + void setInnerColor(int projectileIndex, int color); + + int getOuterColor(int projectileIndex); + void setOuterColor(int projectileIndex, int color); + + int getAnchorPoint(int projectileIndex); + void setAnchorPoint(int projectileIndex, int point); } diff --git a/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java b/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java index ec4b396..e817541 100644 --- a/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java +++ b/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java @@ -67,4 +67,22 @@ public interface IAbilityEnergyBeam extends IAbility { */ int getAnchorPoint(); void setAnchorPoint(int point); + + // Dual/Projectile count + + int getProjectileCount(); + void setProjectileCount(int count); + + int getDualFireDelay(); + void setDualFireDelay(int delay); + + // Indexed accessors (for dual mode) + int getInnerColor(int projectileIndex); + void setInnerColor(int projectileIndex, int color); + + int getOuterColor(int projectileIndex); + void setOuterColor(int projectileIndex, int color); + + int getAnchorPoint(int projectileIndex); + void setAnchorPoint(int projectileIndex, int point); } diff --git a/java/noppes/npcs/api/ability/type/IAbilityOrb.java b/java/noppes/npcs/api/ability/type/IAbilityOrb.java index 81974f9..1ccccdc 100644 --- a/java/noppes/npcs/api/ability/type/IAbilityOrb.java +++ b/java/noppes/npcs/api/ability/type/IAbilityOrb.java @@ -64,4 +64,22 @@ public interface IAbilityOrb extends IAbility { */ int getAnchorPoint(); void setAnchorPoint(int point); + + // Dual/Projectile count + + int getProjectileCount(); + void setProjectileCount(int count); + + int getDualFireDelay(); + void setDualFireDelay(int delay); + + // Indexed accessors (for dual mode) + int getInnerColor(int projectileIndex); + void setInnerColor(int projectileIndex, int color); + + int getOuterColor(int projectileIndex); + void setOuterColor(int projectileIndex, int color); + + int getAnchorPoint(int projectileIndex); + void setAnchorPoint(int projectileIndex, int point); }