diff --git a/src/engine/gameManager/PowersManager.java b/src/engine/gameManager/PowersManager.java index 0dc04570..6e833886 100644 --- a/src/engine/gameManager/PowersManager.java +++ b/src/engine/gameManager/PowersManager.java @@ -28,6 +28,7 @@ import engine.net.Dispatch; import engine.net.client.ClientConnection; import engine.net.client.msg.*; import engine.objects.*; +import engine.parsers.objects.wpak.PowActionCostTemplate; import engine.parsers.objects.wpak.PowerTemplate; import engine.powers.*; import engine.powers.poweractions.AbstractPowerAction; @@ -94,6 +95,14 @@ public enum PowersManager { return PowersManager.effectsBaseByToken.get(token); } + public static void loadEffectCostMaps() { + + for (PowActionCostTemplate costTemplate : PowActionCostTemplate._costs.values()) + PowersManager._effect_costMaps.put(costTemplate.id, new HashMap<>(costTemplate.costs)); + + Logger.info("Loaded " + PowersManager._effect_costMaps.size() + " effect cost maps from PowActionCostInfo.cfg"); + } + // Powers.cfg target type wins over static_power_powerbase private static void applyClientTargetTypes() { diff --git a/src/engine/server/world/WorldServer.java b/src/engine/server/world/WorldServer.java index 463b897d..84471183 100644 --- a/src/engine/server/world/WorldServer.java +++ b/src/engine/server/world/WorldServer.java @@ -593,7 +593,7 @@ public class WorldServer { ReSpawner.start(); Logger.info("Loading effect cost maps"); - DbManager.EffectsResourceCostsQueries.LOAD_ALL_COSTMAPS(); + PowersManager.loadEffectCostMaps(); Logger.info("Starting ForgeManager thread"); ForgeManager.start();