NoMod work.

This commit is contained in:
2025-03-02 13:57:27 -05:00
parent c2d4e0c1dd
commit 7dfb0da862
+15
View File
@@ -17,6 +17,8 @@ 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;
import java.util.ArrayList;
public class Behaviours { public class Behaviours {
public static Object Flag(AbstractCharacter caster, Power power, Integer rank, AbstractWorldObject target, public static Object Flag(AbstractCharacter caster, Power power, Integer rank, AbstractWorldObject target,
@@ -78,6 +80,19 @@ public class Behaviours {
PowerAction powerAction, Effect effect, ModifierEntry modifierEntry) { PowerAction powerAction, Effect effect, ModifierEntry modifierEntry) {
mbEnums.ModType noMod = mbEnums.ModType.valueOf(modifierEntry.arg1); mbEnums.ModType noMod = mbEnums.ModType.valueOf(modifierEntry.arg1);
ArrayList<Effect> removeList = new ArrayList<>();
// Iterate through effects on target slating to remove
// all which match the intended modType
for (AppliedEffect appliedEffect : target._effects.values())
if (appliedEffect.modifiers.containsKey(noMod))
removeList.add(appliedEffect.effect);
for (Effect effectEntry : removeList)
target._effects.remove(effectEntry); // wpakPowerManager.removeEffect() instead?
// target.updateBonuses?
return noMod; return noMod;
} }