Refactored mob powers to rune powers. Now uses rune_id to call into system which is derived in the getter to support minions.

This commit is contained in:
2023-09-02 12:47:04 -04:00
parent f556181d77
commit 70a0ed135b
8 changed files with 60 additions and 76 deletions
+6 -24
View File
@@ -53,13 +53,9 @@ public enum PowersManager {
public static HashMap<Integer, AbstractPowerAction> powerActionsByID = new HashMap<>();
public static HashMap<String, Integer> ActionTokenByIDString = new HashMap<>();
public static HashMap<String, Integer> AnimationOverrides = new HashMap<>();
public static HashMap<Integer, ArrayList<MobPowerEntry>> _allMobPowers;
public static HashMap<Integer, ArrayList<RunePowerEntry>> _allRunePowers;
private static JobScheduler js;
private PowersManager() {
}
public static void initPowersManager(boolean fullPowersLoad) {
if (fullPowersLoad)
@@ -103,28 +99,14 @@ public enum PowersManager {
}
}
public static ArrayList<MobPowerEntry> getPowersForMobile(Mob mobile) {
public static ArrayList<RunePowerEntry> getPowersForRune(int rune_id) {
ArrayList<MobPowerEntry> mobPowers = new ArrayList<>();
ArrayList<MobPowerEntry> powerEntries;
ArrayList<RunePowerEntry> powerEntries = PowersManager._allRunePowers.get(rune_id);
if (mobile.agentType.equals(AIAgentType.GUARDMINION))
powerEntries = PowersManager._allMobPowers.get(mobile.guardCaptain.contractUUID);
else
powerEntries = PowersManager._allMobPowers.get(mobile.contractUUID);
if (powerEntries == null)
powerEntries = new ArrayList<>();
if (powerEntries != null)
mobPowers.addAll(powerEntries);
if (mobile.agentType.equals(AIAgentType.GUARDMINION))
powerEntries = PowersManager._allMobPowers.get(((Mob) mobile.guardCaptain).loadID);
else
powerEntries = PowersManager._allMobPowers.get(mobile.loadID);
if (powerEntries != null)
mobPowers.addAll(powerEntries);
return mobPowers;
return powerEntries;
}
// This pre-loads all powers and effects