mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-14 15:41:30 +00:00
[Quest API] (Performance) Check event exists before export and execute EVENT_LEVEL_UP and EVENT_LEVEL_DOWN (#2889)
* [Quest API] Optionally parse EVENT_LEVEL_UP and EVENT_LEVEL_DOWN - Optionally parses these events instead of always doing so. * [Quest API] Optionally parse EVENT_LEVEL_UP and EVENT_LEVEL_DOWN - Optionally parses these events instead of always doing so.
This commit is contained in:
parent
21e42714eb
commit
5be3780a54
15
zone/exp.cpp
15
zone/exp.cpp
@ -871,8 +871,11 @@ void Client::SetLevel(uint8 set_level, bool command)
|
|||||||
|
|
||||||
if (set_level > m_pp.level) {
|
if (set_level > m_pp.level) {
|
||||||
int levels_gained = (set_level - m_pp.level);
|
int levels_gained = (set_level - m_pp.level);
|
||||||
const auto export_string = fmt::format("{}", levels_gained);
|
|
||||||
parse->EventPlayer(EVENT_LEVEL_UP, this, export_string, 0);
|
if (parse->PlayerHasQuestSub(EVENT_LEVEL_UP)) {
|
||||||
|
parse->EventPlayer(EVENT_LEVEL_UP, this, std::to_string(levels_gained), 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::LEVEL_GAIN)) {
|
if (player_event_logs.IsEventEnabled(PlayerEvent::LEVEL_GAIN)) {
|
||||||
auto e = PlayerEvent::LevelGainedEvent{
|
auto e = PlayerEvent::LevelGainedEvent{
|
||||||
.from_level = m_pp.level,
|
.from_level = m_pp.level,
|
||||||
@ -883,7 +886,6 @@ void Client::SetLevel(uint8 set_level, bool command)
|
|||||||
RecordPlayerEventLog(PlayerEvent::LEVEL_GAIN, e);
|
RecordPlayerEventLog(PlayerEvent::LEVEL_GAIN, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (RuleB(QueryServ, PlayerLogLevels)) {
|
if (RuleB(QueryServ, PlayerLogLevels)) {
|
||||||
const auto event_desc = fmt::format(
|
const auto event_desc = fmt::format(
|
||||||
"Leveled UP :: to Level:{} from Level:{} in zoneid:{} instid:{}",
|
"Leveled UP :: to Level:{} from Level:{} in zoneid:{} instid:{}",
|
||||||
@ -896,8 +898,11 @@ void Client::SetLevel(uint8 set_level, bool command)
|
|||||||
}
|
}
|
||||||
} else if (set_level < m_pp.level) {
|
} else if (set_level < m_pp.level) {
|
||||||
int levels_lost = (m_pp.level - set_level);
|
int levels_lost = (m_pp.level - set_level);
|
||||||
const auto export_string = fmt::format("{}", levels_lost);
|
|
||||||
parse->EventPlayer(EVENT_LEVEL_DOWN, this, export_string, 0);
|
if (parse->PlayerHasQuestSub(EVENT_LEVEL_DOWN)) {
|
||||||
|
parse->EventPlayer(EVENT_LEVEL_DOWN, this, std::to_string(levels_lost), 0);
|
||||||
|
}
|
||||||
|
|
||||||
if (player_event_logs.IsEventEnabled(PlayerEvent::LEVEL_LOSS)) {
|
if (player_event_logs.IsEventEnabled(PlayerEvent::LEVEL_LOSS)) {
|
||||||
auto e = PlayerEvent::LevelLostEvent{
|
auto e = PlayerEvent::LevelLostEvent{
|
||||||
.from_level = m_pp.level,
|
.from_level = m_pp.level,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user