[Character] Character EXP Modifiers in Memory (#3934)

* Cleanup

* Final push.

* Update zonedb.cpp

* Update zone.h

* Update exp.cpp

* Update zonedb.cpp

---------

Co-authored-by: Chris Miles <akkadius1@gmail.com>
This commit is contained in:
Alex King
2024-01-13 01:03:36 -05:00
committed by GitHub
parent 77c0eb3998
commit 73a099c5ea
16 changed files with 443 additions and 179 deletions
+48
View File
@@ -388,6 +388,10 @@ Client::~Client() {
Bot::ProcessBotOwnerRefDelete(this);
}
if (zone) {
zone->ClearEXPModifier(this);
}
if(IsInAGuild())
guild_mgr.SendGuildMemberUpdateToWorld(GetName(), GuildID(), 0, time(nullptr));
@@ -742,6 +746,8 @@ bool Client::Save(uint8 iCommitNow) {
database.SaveCharacterData(this, &m_pp, &m_epp); /* Save Character Data */
database.SaveCharacterEXPModifier(this);
return true;
}
@@ -11951,3 +11957,45 @@ void Client::ClearXTargets()
}
}
}
float Client::GetAAEXPModifier(uint32 zone_id, int16 instance_version)
{
return database.GetAAEXPModifierByCharID(
CharacterID(),
zone_id,
instance_version
);
}
float Client::GetEXPModifier(uint32 zone_id, int16 instance_version)
{
return database.GetEXPModifierByCharID(
CharacterID(),
zone_id,
instance_version
);
}
void Client::SetAAEXPModifier(uint32 zone_id, float aa_modifier, int16 instance_version)
{
database.SetAAEXPModifierByCharID(
CharacterID(),
zone_id,
aa_modifier,
instance_version
);
database.LoadCharacterEXPModifier(this);
}
void Client::SetEXPModifier(uint32 zone_id, float exp_modifier, int16 instance_version)
{
database.SetEXPModifierByCharID(
CharacterID(),
zone_id,
exp_modifier,
instance_version
);
database.LoadCharacterEXPModifier(this);
}