From 0a2e487a767cf31abc0e3a4e4c00aa965998ea8a Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sat, 22 Feb 2025 07:54:49 -0500 Subject: [PATCH] Signature updated for actions --- src/engine/mbEnums.java | 6 +- src/engine/wpakpowers/Actions.java | 62 ++++++++++----------- src/engine/wpakpowers/WpakPowerManager.java | 14 +++-- 3 files changed, 43 insertions(+), 39 deletions(-) diff --git a/src/engine/mbEnums.java b/src/engine/mbEnums.java index af894084..f3370574 100644 --- a/src/engine/mbEnums.java +++ b/src/engine/mbEnums.java @@ -1376,7 +1376,7 @@ public class mbEnums { @FunctionalInterface public interface PowerActionFunction { void execute(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank); + Integer rank, PowerAction powerAction); } public enum PowerActionType { @@ -1421,8 +1421,8 @@ public class mbEnums { // Identical to behaviours? public void execute(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { - function.execute(caster, target, power, powerAction, effect, modifierEntry, rank); + Integer rank, PowerAction powerAction) { + function.execute(caster, target, power, rank, powerAction); } } diff --git a/src/engine/wpakpowers/Actions.java b/src/engine/wpakpowers/Actions.java index f86aeaf5..9a2ce76a 100644 --- a/src/engine/wpakpowers/Actions.java +++ b/src/engine/wpakpowers/Actions.java @@ -2,160 +2,158 @@ package engine.wpakpowers; import engine.objects.AbstractCharacter; import engine.objects.AbstractWorldObject; -import engine.wpak.data.Effect; -import engine.wpak.data.ModifierEntry; import engine.wpak.data.Power; import engine.wpak.data.PowerAction; public class Actions { public static void ApplyEffect(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { } public static void ApplyEffects(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Block(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Charm(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void ClaimMine(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void ClearAggro(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void ClearNearbyAggro(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Confusion(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void CreateMob(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void DamageOverTime(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void DeferredPower(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void DirectDamage(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Invis(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void MobRecall(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Peek(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Recall(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void RemoveEffect(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Resurrect(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void RunegateTeleport(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void SetItemFlag(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void SimpleDamage(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void SpireDisable(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Steal(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Summon(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Teleport(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Track(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void TransferStat(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void TransferStatOT(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void Transform(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } public static void TreeChoke(AbstractCharacter caster, AbstractWorldObject target, Power power, - PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { + Integer rank, PowerAction powerAction) { System.out.println("PowerAction method called"); } } diff --git a/src/engine/wpakpowers/WpakPowerManager.java b/src/engine/wpakpowers/WpakPowerManager.java index bed8dfed..5925a9f3 100644 --- a/src/engine/wpakpowers/WpakPowerManager.java +++ b/src/engine/wpakpowers/WpakPowerManager.java @@ -302,7 +302,7 @@ public class WpakPowerManager { if (powerUsed.maxMobTargets > 1 || powerUsed.maxPlayerTargets > 1) AoeHandler(caster, target, powerUsed, msg.getNumTrains()); else - applyAllPowerEffects(caster, powerUsed, msg.getNumTrains(), target); + runPowerActions(caster, powerUsed, msg.getNumTrains(), target); } private static void AoeHandler(PlayerCharacter caster, AbstractWorldObject target, Power powerUsed, int rank) { @@ -319,7 +319,7 @@ public class WpakPowerManager { for (AbstractWorldObject mob : mobTargets) { if (count < powerUsed.maxMobTargets + 1) { - applyAllPowerEffects(caster, powerUsed, rank, mob); + runPowerActions(caster, powerUsed, rank, mob); count++; } else { break; @@ -329,7 +329,7 @@ public class WpakPowerManager { count = 1; for (AbstractWorldObject pc : pcTargets) { if (count < powerUsed.maxPlayerTargets + 1) { - applyAllPowerEffects(caster, powerUsed, rank, pc); + runPowerActions(caster, powerUsed, rank, pc); count++; } else { break; @@ -337,7 +337,10 @@ public class WpakPowerManager { } } - public static void applyAllPowerEffects(AbstractCharacter caster, Power power, int rank, AbstractWorldObject target) { + public static void runPowerActions(AbstractCharacter caster, Power power, int rank, AbstractWorldObject target) { + + // Iterate through the poweractions for this + // power and execute them.. for (ActionEntry actionEntry : power.actionEntries) { @@ -348,6 +351,9 @@ public class WpakPowerManager { continue; } + powerAction.action_type.execute(caster, target, power, rank, + powerAction); + // Iterate effects for this powerAction and apply for (Effect effect : powerAction.effects) {