Browse Source

Loading effect costmap data at bootsrap

combat-2
MagicBot 8 months ago
parent
commit
bcb40fecbb
  1. 27
      src/engine/db/handlers/dbEffectsResourceCostHandler.java
  2. 1
      src/engine/gameManager/PowersManager.java
  3. 3
      src/engine/server/world/WorldServer.java

27
src/engine/db/handlers/dbEffectsResourceCostHandler.java

@ -10,6 +10,7 @@ @@ -10,6 +10,7 @@
package engine.db.handlers;
import engine.gameManager.DbManager;
import engine.gameManager.PowersManager;
import engine.mbEnums;
import engine.objects.EffectsResourceCosts;
import org.json.JSONObject;
@ -96,6 +97,32 @@ public class dbEffectsResourceCostHandler extends dbHandlerBase { @@ -96,6 +97,32 @@ public class dbEffectsResourceCostHandler extends dbHandlerBase {
return false;
}
public void LOAD_ALL_COSTMAPS() {
try (Connection connection = DbManager.getConnection();
PreparedStatement preparedStatement = connection.prepareStatement("SELECT * FROM `static_effect_costmaps`")) {
ResultSet rs = preparedStatement.executeQuery();
while (rs.next()) {
String effectID = rs.getString("effectID");
String costString = rs.getString("costmap");
JSONObject costJSON = new JSONObject(costString);
HashMap<mbEnums.ResourceType, Integer> costmap = new HashMap<>();
for (String key : costJSON.keySet()) {
int value = costJSON.getInt(key);
costmap.put(mbEnums.ResourceType.valueOf(key), value);
}
PowersManager._effect_costMaps.put(effectID, costmap);
}
} catch (SQLException e) {
Logger.error(e);
}
}
public ArrayList<EffectsResourceCosts> GET_ALL_EFFECT_RESOURCES(String idString) {
ArrayList<EffectsResourceCosts> effectsResourceCosts = new ArrayList<>();

1
src/engine/gameManager/PowersManager.java

@ -57,6 +57,7 @@ public enum PowersManager { @@ -57,6 +57,7 @@ public enum PowersManager {
public static HashMap<String, Integer> AnimationOverrides = new HashMap<>();
public static HashMap<Integer, ArrayList<RunePowerEntry>> _allRunePowers;
public static HashMap<Integer, ArrayList<RuneSkillAdjustEntry>> _allRuneSkillAdjusts;
public static HashMap<String, HashMap<ResourceType, Integer>> _effect_costMaps = new HashMap<>();
private static JobScheduler js;
public static void initPowersManager(boolean fullPowersLoad) {

3
src/engine/server/world/WorldServer.java

@ -449,6 +449,9 @@ public class WorldServer { @@ -449,6 +449,9 @@ public class WorldServer {
Logger.info("Starting Mob Respawn Thread");
Respawner.start();
Logger.info("Loading effect cost maps");
DbManager.EffectsResourceCostsQueries.LOAD_ALL_COSTMAPS();
Logger.info("Starting ForgeManager thread");
ForgeManager.start();

Loading…
Cancel
Save