[Bug Fix] Fix EVENT_USE_SKILL with Sense Heading (#4424)

This commit is contained in:
Alex King 2024-07-22 21:45:32 -04:00 committed by GitHub
parent 098498dedd
commit 29fdf7e2ae
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -368,13 +368,7 @@ void MapOpcodes()
ConnectedOpcodes[OP_Save] = &Client::Handle_OP_Save;
ConnectedOpcodes[OP_SaveOnZoneReq] = &Client::Handle_OP_SaveOnZoneReq;
ConnectedOpcodes[OP_SelectTribute] = &Client::Handle_OP_SelectTribute;
// Use or Ignore sense heading based on rule.
bool train = RuleB(Skills, TrainSenseHeading);
ConnectedOpcodes[OP_SenseHeading] =
(train) ? &Client::Handle_OP_SenseHeading : &Client::Handle_OP_Ignore;
ConnectedOpcodes[OP_SenseHeading] = &Client::Handle_OP_SenseHeading;
ConnectedOpcodes[OP_SenseTraps] = &Client::Handle_OP_SenseTraps;
ConnectedOpcodes[OP_SetGuildMOTD] = &Client::Handle_OP_SetGuildMOTD;
ConnectedOpcodes[OP_SetRunMode] = &Client::Handle_OP_SetRunMode;
@ -13610,14 +13604,24 @@ void Client::Handle_OP_SelectTribute(const EQApplicationPacket *app)
void Client::Handle_OP_SenseHeading(const EQApplicationPacket *app)
{
if (!HasSkill(EQ::skills::SkillSenseHeading))
if (!HasSkill(EQ::skills::SkillSenseHeading)) {
return;
}
int chancemod = 0;
if (RuleB(Skills, TrainSenseHeading)) {
CheckIncreaseSkill(EQ::skills::SkillSenseHeading, nullptr, 0);
return;
}
CheckIncreaseSkill(EQ::skills::SkillSenseHeading, nullptr, chancemod);
if (parse->PlayerHasQuestSub(EVENT_USE_SKILL)) {
const auto& export_string = fmt::format(
"{} {}",
EQ::skills::SkillSenseHeading,
GetRawSkill(EQ::skills::SkillSenseHeading)
);
return;
parse->EventPlayer(EVENT_USE_SKILL, this, export_string, 0);
}
}
void Client::Handle_OP_SenseTraps(const EQApplicationPacket *app)