mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-12 01:11:29 +00:00
Very simple implementation of Sneak Pull
This commit is contained in:
parent
10ffcf155d
commit
b2e4e91fbd
@ -501,6 +501,7 @@ RULE_INT(Combat, LevelToStopACTwinkControl, 50, "Level to stop armorclass twink
|
||||
RULE_BOOL(Combat, ClassicNPCBackstab, false, "True disables NPC facestab - NPC get normal attack if not behind")
|
||||
RULE_BOOL(Combat, UseNPCDamageClassLevelMods, true, "Uses GetClassLevelDamageMod calc in npc_scale_manager")
|
||||
RULE_BOOL(Combat, UseExtendedPoisonProcs, false, "Allow old school poisons to last until characrer zones, at a lower proc rate")
|
||||
RULE_BOOL(Combat, EnableSneakPull, false, "Enable implementation of Sneak Pull")
|
||||
RULE_CATEGORY_END()
|
||||
|
||||
RULE_CATEGORY(NPC)
|
||||
|
||||
12
zone/npc.cpp
12
zone/npc.cpp
@ -3239,6 +3239,18 @@ void NPC::AIYellForHelp(Mob *sender, Mob *attacker)
|
||||
}
|
||||
|
||||
float assist_range = (mob->GetAssistRange() * mob->GetAssistRange());
|
||||
|
||||
if (RuleB(Combat, EnableSneakPull) && attacker->sneaking) {
|
||||
assist_range=(20*20);
|
||||
if (attacker->IsClient()) {
|
||||
float clientx=attacker->GetX();
|
||||
float clienty=attacker->GetY();
|
||||
if (attacker->CastToClient()->BehindMob(mob, clientx, clienty)) {
|
||||
assist_range = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (distance > assist_range) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user