fix(Core/SAI/SSC): Allow Farthest target to set a min distance (#17992)

This commit is contained in:
Angelo Venturini
2023-12-11 19:57:44 -03:00
committed by GitHub
parent 8ea3d81d69
commit 10c9a2729b
5 changed files with 11 additions and 5 deletions

View File

@@ -3243,7 +3243,7 @@ void SmartScript::GetTargets(ObjectVector& targets, SmartScriptHolder const& e,
case SMART_TARGET_FARTHEST:
if (me)
{
if (Unit* u = me->AI()->SelectTarget(SelectTargetMethod::MinDistance, 0, FarthestTargetSelector(me, e.target.farthest.maxDist, e.target.farthest.playerOnly, e.target.farthest.isInLos)))
if (Unit* u = me->AI()->SelectTarget(SelectTargetMethod::MinDistance, 0, FarthestTargetSelector(me, e.target.farthest.maxDist, e.target.farthest.playerOnly, e.target.farthest.isInLos, e.target.farthest.minDist)))
targets.push_back(u);
}
break;

View File

@@ -1488,7 +1488,7 @@ enum SMARTAI_TARGETS
SMART_TARGET_CLOSEST_ENEMY = 25, // maxDist, playerOnly
SMART_TARGET_CLOSEST_FRIENDLY = 26, // maxDist, playerOnly
SMART_TARGET_LOOT_RECIPIENTS = 27, // all players that have tagged this creature (for kill credit)
SMART_TARGET_FARTHEST = 28, // maxDist, playerOnly, isInLos
SMART_TARGET_FARTHEST = 28, // maxDist, playerOnly, isInLos, minDist
SMART_TARGET_VEHICLE_PASSENGER = 29, // seat number (vehicle can target it's own accessory)
SMART_TARGET_TC_END = 30, // placeholder
@@ -1538,6 +1538,7 @@ struct SmartTarget
uint32 maxDist;
SAIBool playerOnly;
SAIBool isInLos;
uint32 minDist;
} farthest;
struct