[Skills] Make Tracking Skill Configurable (#1784)

Added 1 rule per class that defines tracking distance multiplier for that class
Kept the defaults of 12 for ranger, 10 for druid, and 7 for bard

Created 1 method for determining class tracking distance multiplier
Created 1 method for determining if a class can track, based on multiplier

Updated tracking logic to use these methods to determine whether a tracking
packet should and can be sent or not.
This commit is contained in:
mmcgarvey
2021-12-23 14:57:53 -05:00
committed by GitHub
parent 8c78a19c95
commit 4fbb98a5f7
5 changed files with 70 additions and 10 deletions
+4 -4
View File
@@ -14064,8 +14064,9 @@ void Client::Handle_OP_TGB(const EQApplicationPacket *app)
void Client::Handle_OP_Track(const EQApplicationPacket *app)
{
if (GetClass() != RANGER && GetClass() != DRUID && GetClass() != BARD)
if (!CanThisClassTrack()) {
return;
}
if (GetSkill(EQ::skills::SkillTracking) == 0)
SetSkill(EQ::skills::SkillTracking, 1);
@@ -14080,10 +14081,9 @@ void Client::Handle_OP_Track(const EQApplicationPacket *app)
void Client::Handle_OP_TrackTarget(const EQApplicationPacket *app)
{
int PlayerClass = GetClass();
if ((PlayerClass != RANGER) && (PlayerClass != DRUID) && (PlayerClass != BARD))
if (!CanThisClassTrack()) {
return;
}
if (app->size != sizeof(TrackTarget_Struct))
{