forked from MagicBane/Server
new mob aggro system
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user