Need to preserver order of hashmap insertion.

This commit is contained in:
2023-08-08 12:24:27 -04:00
parent 564968a1e3
commit 9f0fb26e1f
2 changed files with 6 additions and 1 deletions
+4
View File
@@ -474,6 +474,7 @@ public class MobAI {
if (powerTokens.isEmpty()) if (powerTokens.isEmpty())
return false; return false;
int powerToken = 0; int powerToken = 0;
int nukeRoll = ThreadLocalRandom.current().nextInt(1,100); int nukeRoll = ThreadLocalRandom.current().nextInt(1,100);
@@ -488,6 +489,7 @@ public class MobAI {
} }
int powerRank = 1; int powerRank = 1;
switch(mob.getRank()){ switch(mob.getRank()){
case 1: case 1:
powerRank = 10; powerRank = 10;
@@ -511,6 +513,7 @@ public class MobAI {
powerRank = 40; powerRank = 40;
break; break;
} }
PowersBase mobPower = PowersManager.getPowerByToken(powerToken); PowersBase mobPower = PowersManager.getPowerByToken(powerToken);
//check for hit-roll //check for hit-roll
@@ -542,6 +545,7 @@ public class MobAI {
msg.setUnknown04(2); msg.setUnknown04(2);
PowersManager.finishUseMobPower(msg, mob, 0, 0); PowersManager.finishUseMobPower(msg, mob, 0, 0);
long randomCooldown = (long)((ThreadLocalRandom.current().nextInt(10,15) * 1000) * MobAIThread.AI_CAST_FREQUENCY); long randomCooldown = (long)((ThreadLocalRandom.current().nextInt(10,15) * 1000) * MobAIThread.AI_CAST_FREQUENCY);
mob.nextCastTime = System.currentTimeMillis() + randomCooldown; mob.nextCastTime = System.currentTimeMillis() + randomCooldown;
return true; return true;
+2 -1
View File
@@ -39,6 +39,7 @@ import java.sql.SQLException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.LinkedHashMap;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.locks.ReentrantReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -61,7 +62,7 @@ public class Mob extends AbstractIntelligenceAgent {
public boolean despawned = false; public boolean despawned = false;
public Vector3fImmutable destination = Vector3fImmutable.ZERO; public Vector3fImmutable destination = Vector3fImmutable.ZERO;
public Vector3fImmutable localLoc = Vector3fImmutable.ZERO; public Vector3fImmutable localLoc = Vector3fImmutable.ZERO;
public HashMap<Integer, Integer> mobPowers = new HashMap<>(); public LinkedHashMap<Integer, Integer> mobPowers = new LinkedHashMap<>();
public MobBase mobBase; public MobBase mobBase;
public int spawnTime; public int spawnTime;
public Zone parentZone; public Zone parentZone;