wpak parser added to project

This commit is contained in:
2026-01-09 13:12:40 -05:00
parent 9ad5f239b0
commit 7717707518
13 changed files with 1281 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀
// Magicbane Emulator Project © 2013 - 2024
// www.magicbane.com
package engine.wpak.data;
import engine.mbEnums;
import java.util.ArrayList;
import java.util.Objects;
public class PowerAction {
// Header values
public String action_id;
public mbEnums.PowerActionType action_type;
public ArrayList<Effect> effects = new ArrayList<>();
public int petLevel;
public int petRace;
public StatTransfer statTransfer;
public int levelCap;
public mbEnums.CompoundCurveType levelCapCurve;
public TrackEntry trackEntry;
// Additional variables after header go here.
public ArrayList<Integer> bodyParts = new ArrayList<>();
public ArrayList<Integer> femaleBodyParts = new ArrayList<>();
public boolean shouldShowWeapons = false;
public boolean shouldShowArmor = false;
public boolean bladeTrails = false;
public boolean isResistible = false;
public ArrayList<Float> scaleFactor = new ArrayList<>();
public ArrayList<Integer> attackAnimations = new ArrayList<>();
public boolean isAggressive;
public mbEnums.DamageType damageType;
public boolean applyEffectBlank = false;
public boolean wearOffEffectBlank = false;
public boolean removeAll = false;
public boolean clearAggro = false;
public boolean targetBecomesPet = false;
public boolean destroyOldPet = false;
public mbEnums.ItemFlags itemFlag;
public mbEnums.MobBehaviourType rootFsmID;
public int splashDamageMin;
public int splashDamageMax;
public boolean ignoreNoTeleSpire = false;
public boolean equals(Object o) {
if (this == o)
return true;
if (o == null || getClass() != o.getClass())
return false;
PowerAction powerAction = (PowerAction) o;
return Objects.equals(action_id, powerAction.action_id);
}
@Override
public int hashCode() {
return action_id.hashCode(); // Use only the id field for hashCode
}
}