Browse Source

Signature updated for actions

feature-config-usage
MagicBot 1 day ago
parent
commit
0a2e487a76
  1. 6
      src/engine/mbEnums.java
  2. 62
      src/engine/wpakpowers/Actions.java
  3. 14
      src/engine/wpakpowers/WpakPowerManager.java

6
src/engine/mbEnums.java

@ -1376,7 +1376,7 @@ public class mbEnums {
@FunctionalInterface @FunctionalInterface
public interface PowerActionFunction { public interface PowerActionFunction {
void execute(AbstractCharacter caster, AbstractWorldObject target, Power power, void execute(AbstractCharacter caster, AbstractWorldObject target, Power power,
PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank); Integer rank, PowerAction powerAction);
} }
public enum PowerActionType { public enum PowerActionType {
@ -1421,8 +1421,8 @@ public class mbEnums {
// Identical to behaviours? // Identical to behaviours?
public void execute(AbstractCharacter caster, AbstractWorldObject target, Power power, public void execute(AbstractCharacter caster, AbstractWorldObject target, Power power,
PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { Integer rank, PowerAction powerAction) {
function.execute(caster, target, power, powerAction, effect, modifierEntry, rank); function.execute(caster, target, power, rank, powerAction);
} }
} }

62
src/engine/wpakpowers/Actions.java

@ -2,160 +2,158 @@ package engine.wpakpowers;
import engine.objects.AbstractCharacter; import engine.objects.AbstractCharacter;
import engine.objects.AbstractWorldObject; import engine.objects.AbstractWorldObject;
import engine.wpak.data.Effect;
import engine.wpak.data.ModifierEntry;
import engine.wpak.data.Power; import engine.wpak.data.Power;
import engine.wpak.data.PowerAction; import engine.wpak.data.PowerAction;
public class Actions { public class Actions {
public static void ApplyEffect(AbstractCharacter caster, AbstractWorldObject target, Power power, 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, 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"); System.out.println("PowerAction method called");
} }
public static void Block(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Charm(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void ClaimMine(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void ClearAggro(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void ClearNearbyAggro(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Confusion(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void CreateMob(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void DamageOverTime(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void DeferredPower(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void DirectDamage(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Invis(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void MobRecall(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Peek(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Recall(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void RemoveEffect(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Resurrect(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void RunegateTeleport(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void SetItemFlag(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void SimpleDamage(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void SpireDisable(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Steal(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Summon(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Teleport(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Track(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void TransferStat(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void TransferStatOT(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void Transform(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
public static void TreeChoke(AbstractCharacter caster, AbstractWorldObject target, Power power, 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"); System.out.println("PowerAction method called");
} }
} }

14
src/engine/wpakpowers/WpakPowerManager.java

@ -302,7 +302,7 @@ public class WpakPowerManager {
if (powerUsed.maxMobTargets > 1 || powerUsed.maxPlayerTargets > 1) if (powerUsed.maxMobTargets > 1 || powerUsed.maxPlayerTargets > 1)
AoeHandler(caster, target, powerUsed, msg.getNumTrains()); AoeHandler(caster, target, powerUsed, msg.getNumTrains());
else 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) { private static void AoeHandler(PlayerCharacter caster, AbstractWorldObject target, Power powerUsed, int rank) {
@ -319,7 +319,7 @@ public class WpakPowerManager {
for (AbstractWorldObject mob : mobTargets) { for (AbstractWorldObject mob : mobTargets) {
if (count < powerUsed.maxMobTargets + 1) { if (count < powerUsed.maxMobTargets + 1) {
applyAllPowerEffects(caster, powerUsed, rank, mob); runPowerActions(caster, powerUsed, rank, mob);
count++; count++;
} else { } else {
break; break;
@ -329,7 +329,7 @@ public class WpakPowerManager {
count = 1; count = 1;
for (AbstractWorldObject pc : pcTargets) { for (AbstractWorldObject pc : pcTargets) {
if (count < powerUsed.maxPlayerTargets + 1) { if (count < powerUsed.maxPlayerTargets + 1) {
applyAllPowerEffects(caster, powerUsed, rank, pc); runPowerActions(caster, powerUsed, rank, pc);
count++; count++;
} else { } else {
break; 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) { for (ActionEntry actionEntry : power.actionEntries) {
@ -348,6 +351,9 @@ public class WpakPowerManager {
continue; continue;
} }
powerAction.action_type.execute(caster, target, power, rank,
powerAction);
// Iterate effects for this powerAction and apply // Iterate effects for this powerAction and apply
for (Effect effect : powerAction.effects) { for (Effect effect : powerAction.effects) {

Loading…
Cancel
Save