new mob aggro system

This commit is contained in:
2025-02-27 15:43:43 -06:00
parent c24d779d08
commit 140ba6ae75
4 changed files with 93 additions and 58 deletions
+10
View File
@@ -1006,6 +1006,16 @@ public enum CombatManager {
if (ac.isAlive() && tarAc != null && tarAc.isAlive())
handleDamageShields(ac, tarAc, damage);
//handle mob hate values
if(target.getObjectType().equals(GameObjectType.Mob) && ac.getObjectType().equals(GameObjectType.PlayerCharacter)){
Mob mobTarget = (Mob)target;
if(mobTarget.hate_values.containsKey((PlayerCharacter) ac)){
mobTarget.hate_values.put((PlayerCharacter) ac,mobTarget.hate_values.get((PlayerCharacter) ac) + damage);
}else{
mobTarget.hate_values.put((PlayerCharacter) ac, damage);
}
}
} else {
// Apply Weapon power effect if any.
+13
View File
@@ -1015,6 +1015,19 @@ public enum PowersManager {
playerCharacter.setHateValue(pb.getHateValue(trains));
//handle mob hate values
HashSet<AbstractWorldObject> mobs = WorldGrid.getObjectsInRangePartial(playerCharacter.loc,60.0f,MBServerStatics.MASK_MOB);
for(AbstractWorldObject awo : mobs){
Mob mobTarget = (Mob)awo;
if(mobTarget.hate_values.containsKey(playerCharacter)){
mobTarget.hate_values.put(playerCharacter,mobTarget.hate_values.get(playerCharacter) + pb.getHateValue(trains));
}else{
mobTarget.hate_values.put(playerCharacter, pb.getHateValue(trains));
}
}
//Send Cast Message.
// PerformActionMsg castMsg = new PerformActionMsg(msg);
// castMsg.setNumTrains(9999);