Port PROX_AGGRO from EQMacEmu

If this ability is set, the NPCs will continuously add things to their
hate list while their engaged. If it's not set (default) they won't,
which is what the vast majority of NPCs do on live.
This commit is contained in:
Michael Cook (mackal) 2015-08-26 16:20:56 -04:00
parent 839b6e25d8
commit 43586a33cd
2 changed files with 10 additions and 1 deletions

View File

@ -285,6 +285,14 @@ bool Mob::CheckWillAggro(Mob *mob) {
return(false); return(false);
} }
// Don't aggro new clients if we are already engaged unless PROX_AGGRO is set
if (IsEngaged() && (!GetSpecialAbility(PROX_AGGRO) || (GetSpecialAbility(PROX_AGGRO) && !CombatRange(mob)))) {
Log.Out(Logs::Moderate, Logs::Aggro,
"%s is in combat, and does not have prox_aggro, or does and is out of combat range with %s",
GetName(), mob->GetName());
return false;
}
//im not sure I understand this.. //im not sure I understand this..
//if I have an owner and it is not this mob, then I cannot //if I have an owner and it is not this mob, then I cannot
//aggro this mob...??? //aggro this mob...???

View File

@ -138,7 +138,8 @@ enum {
IGNORE_ROOT_AGGRO_RULES = 42, IGNORE_ROOT_AGGRO_RULES = 42,
CASTING_RESIST_DIFF = 43, CASTING_RESIST_DIFF = 43,
COUNTER_AVOID_DAMAGE = 44, COUNTER_AVOID_DAMAGE = 44,
MAX_SPECIAL_ATTACK = 45 PROX_AGGRO = 45,
MAX_SPECIAL_ATTACK = 46
}; };
typedef enum { //fear states typedef enum { //fear states