Browse Source

PowerAction not ActionEntry

feature-config-usage
MagicBot 2 days ago
parent
commit
3612232788
  1. 36
      src/engine/mbEnums.java
  2. 38
      src/engine/wpakpowers/Behaviour.java
  3. 10
      src/engine/wpakpowers/WpakPowerManager.java

36
src/engine/mbEnums.java

@ -16,10 +16,10 @@ import engine.math.Vector3f;
import engine.math.Vector3fImmutable; import engine.math.Vector3fImmutable;
import engine.objects.*; import engine.objects.*;
import engine.powers.EffectsBase; import engine.powers.EffectsBase;
import engine.wpak.data.ActionEntry;
import engine.wpak.data.Effect; import engine.wpak.data.Effect;
import engine.wpak.data.ModifierEntry; import engine.wpak.data.ModifierEntry;
import engine.wpak.data.Power; import engine.wpak.data.Power;
import engine.wpak.data.PowerAction;
import engine.wpakpowers.Behaviour; import engine.wpakpowers.Behaviour;
import org.pmw.tinylog.Logger; import org.pmw.tinylog.Logger;
@ -1340,118 +1340,118 @@ public class mbEnums {
Flag { Flag {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.Flag(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.Flag(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
MapIntToInts { MapIntToInts {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.MapIntToInts(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.MapIntToInts(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
Standard { Standard {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.Standard(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.Standard(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
FPSubTypeAttr { FPSubTypeAttr {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.FPSubTypeAttr(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.FPSubTypeAttr(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
SubTypeSourceType { SubTypeSourceType {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.SubTypeSourceType(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.SubTypeSourceType(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
SubTypePowerType { SubTypePowerType {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.SubTypePowerType(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.SubTypePowerType(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
SubTypeSkill { SubTypeSkill {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.SubTypeSkill(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.SubTypeSkill(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
FPSubTypeDmg { FPSubTypeDmg {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.FPSubTypeDmg(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.FPSubTypeDmg(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
DD { DD {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.DD(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.DD(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
String { String {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.StringBehaviour(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.StringBehaviour(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
SubTypeMod { SubTypeMod {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.SubTypeMod(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.SubTypeMod(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
SubTypePower { SubTypePower {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.SubTypePower(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.SubTypePower(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
SubTypeDmg { SubTypeDmg {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.SubTypeDmg(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.SubTypeDmg(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
FPSubTypeSkill { FPSubTypeSkill {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.FPSubTypeSkill(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.FPSubTypeSkill(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
FPSubTypeMonster { FPSubTypeMonster {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.FPSubTypeMonster(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.FPSubTypeMonster(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}, },
ProcInfo { ProcInfo {
@Override @Override
public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return Behaviour.ProcInfo(caster, target, power, powerAction, effect, modifierEntry, rank); return Behaviour.ProcInfo(caster, target, power, powerAction, effect, modifierEntry, rank);
} }
}; };
public abstract Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power, public abstract Object apply(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank); PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank);
} }
public enum MovementState { public enum MovementState {

38
src/engine/wpakpowers/Behaviour.java

@ -10,104 +10,104 @@ package engine.wpakpowers;
import engine.objects.AbstractCharacter; import engine.objects.AbstractCharacter;
import engine.objects.AbstractWorldObject; import engine.objects.AbstractWorldObject;
import engine.wpak.data.ActionEntry;
import engine.wpak.data.Effect; import engine.wpak.data.Effect;
import engine.wpak.data.ModifierEntry; import engine.wpak.data.ModifierEntry;
import engine.wpak.data.Power; import engine.wpak.data.Power;
import engine.wpak.data.PowerAction;
public class Behaviour { public class Behaviour {
public static Object Flag(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object Flag(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
boolean modValue = true; boolean modValue = true;
return modValue; return modValue;
} }
public static Object MapIntToInts(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object MapIntToInts(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object Standard(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object Standard(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return WpakPowerManager.applyCurveToModifier(actionEntry, modifierEntry, rank); return WpakPowerManager.applyCurveToModifier(powerAction, modifierEntry, rank);
} }
public static Object FPSubTypeAttr(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object FPSubTypeAttr(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
return WpakPowerManager.applyCurveToModifier(actionEntry, modifierEntry, rank); return WpakPowerManager.applyCurveToModifier(powerAction, modifierEntry, rank);
} }
public static Object SubTypeSourceType(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object SubTypeSourceType(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object SubTypePowerType(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object SubTypePowerType(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object SubTypeSkill(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object SubTypeSkill(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object FPSubTypeDmg(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object FPSubTypeDmg(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object DD(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object DD(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object StringBehaviour(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object StringBehaviour(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object SubTypeMod(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object SubTypeMod(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object SubTypePower(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object SubTypePower(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object SubTypeDmg(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object SubTypeDmg(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object FPSubTypeSkill(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object FPSubTypeSkill(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object FPSubTypeMonster(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object FPSubTypeMonster(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry actionEntry, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }
public static Object ProcInfo(AbstractCharacter caster, AbstractWorldObject target, Power power, public static Object ProcInfo(AbstractCharacter caster, AbstractWorldObject target, Power power,
ActionEntry powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry, Integer rank) {
System.out.println("Behavior method called"); System.out.println("Behavior method called");
return null; return null;
} }

10
src/engine/wpakpowers/WpakPowerManager.java

@ -358,7 +358,7 @@ public class WpakPowerManager {
for (ModifierEntry modifierEntry : effect.mods) { for (ModifierEntry modifierEntry : effect.mods) {
Object modifier = modifierEntry.type.behaviorType.apply(caster, target, power, Object modifier = modifierEntry.type.behaviorType.apply(caster, target, power,
actionEntry, effect, modifierEntry, rank); powerAction, effect, modifierEntry, rank);
appliedEffect.modifiers.put(modifierEntry.type, modifier); appliedEffect.modifiers.put(modifierEntry.type, modifier);
} }
@ -433,17 +433,17 @@ public class WpakPowerManager {
return false; return false;
} }
public static float applyCurveToModifier(ActionEntry powerAction, ModifierEntry modifierEntry, int rank) { public static float applyCurveToModifier(PowerAction powerAction, ModifierEntry modifierEntry, int rank) {
float scaledValue; float scaledValue;
// Method scales by either integer or float values driven by the curve type // Method scales by either integer or float values driven by the curve type
if (EnumSet.of(mbEnums.CompoundCurveType.DefaultFlat, mbEnums.CompoundCurveType.DefaultSlope, if (EnumSet.of(mbEnums.CompoundCurveType.DefaultFlat, mbEnums.CompoundCurveType.DefaultSlope,
mbEnums.CompoundCurveType.DefaultSlopeDown).contains(powerAction.curve)) mbEnums.CompoundCurveType.DefaultSlopeDown).contains(powerAction.rampCurve))
scaledValue = powerAction.curve.getValue() + (modifierEntry.compoundCurveType.getValue() * rank); scaledValue = powerAction.rampCurve.getValue() + (modifierEntry.compoundCurveType.getValue() * rank);
else else
scaledValue = powerAction.curve.getValue() * (1 + (modifierEntry.compoundCurveType.getValue() * rank)); scaledValue = powerAction.rampCurve.getValue() * (1 + (modifierEntry.compoundCurveType.getValue() * rank));
scaledValue = scaledValue * 0.01f; scaledValue = scaledValue * 0.01f;

Loading…
Cancel
Save