mobs use both enemy and notEnemy lists to determine proper agro
This commit is contained in:
@@ -430,8 +430,12 @@ public class MobileFSM {
|
|||||||
if (!aiAgent.canSee(loadedPlayer))
|
if (!aiAgent.canSee(loadedPlayer))
|
||||||
continue;
|
continue;
|
||||||
// No aggro for this race type
|
// No aggro for this race type
|
||||||
if (aiAgent.notEnemy.contains(loadedPlayer.getRace().getRaceType().getMonsterType()))
|
if (aiAgent.notEnemy.size() > 0 && aiAgent.notEnemy.contains(loadedPlayer.getRace().getRaceType().getMonsterType()) == true)
|
||||||
continue;
|
continue;
|
||||||
|
//mob has enemies and this player race is not it
|
||||||
|
if(aiAgent.enemy.size() > 0 && aiAgent.enemy.contains(loadedPlayer.getRace().getRaceType().getMonsterType()) == false){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (MovementUtilities.inRangeToAggro(aiAgent, loadedPlayer)) {
|
if (MovementUtilities.inRangeToAggro(aiAgent, loadedPlayer)) {
|
||||||
aiAgent.setCombatTarget(loadedPlayer);
|
aiAgent.setCombatTarget(loadedPlayer);
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user