Fixes npc aggressiveness (#155)

closes #142
This commit is contained in:
Mr Extremez
2019-11-10 11:18:00 -06:00
committed by Daniel Ginovker
parent 68013f3498
commit aaf0a48140
2 changed files with 3 additions and 19 deletions
@@ -16,19 +16,10 @@ public class NpcAggressive {
110, 1611, 83, 941, 49, 117, 111, 125, 1154, 107, 1342, 1338, 447, 448, 449, 917
};
for (int element : data) {
if (NpcHandler.npcs[i].npcType == element) {
if ((NpcHandler.npcs[i].npcType == element || PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType) || FightCaves.isFightCaveNpc(i)) && NpcHandler.npcs[i].MaxHP > 0) {
return true;
}
}
if (PestControl.npcIsPCMonster(NpcHandler.npcs[i].npcType)) {
return true;
}
if (NpcHandler.npcs[i].inWild() && NpcHandler.npcs[i].MaxHP > 0) {
return true;
}
if (FightCaves.isFightCaveNpc(i)) {
return true;
}
return false;
}
@@ -413,21 +413,14 @@ public class NpcHandler {
continue;
}
/**
* Attacking player
**/
Client client = (Client) PlayerHandler.players[NpcData.getCloseRandomPlayer(i)];
if (client != null) {
boolean aggressive = NpcAggressive.isAggressive(i) || getNpcListCombat(npcs[i].npcType) * 2 > client.combatLevel;
if (aggressive && !npcs[i].underAttack && !npcs[i].isDead && !switchesAttackers(i)) {
npcs[i].killerId = NpcData.getCloseRandomPlayer(i);
} else if (aggressive && !npcs[i].underAttack && !npcs[i].isDead && switchesAttackers(i)) {
boolean aggressive = (NpcAggressive.isAggressive(i) && getNpcListCombat(npcs[i].npcType) * 2 > client.combatLevel) || npcs[i].inWild();
if (aggressive && !npcs[i].underAttack && !npcs[i].isDead) {
npcs[i].killerId = NpcData.getCloseRandomPlayer(i);
}
}
if (System.currentTimeMillis() - npcs[i].lastDamageTaken > 5000) {
npcs[i].underAttackBy = 0;
}