[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
+14
View File
@@ -39,6 +39,12 @@
#include "../common/discord/discord.h"
#include "../common/repositories/dynamic_zone_templates_repository.h"
struct EXPModifier
{
float aa_modifier;
float exp_modifier;
};
class DynamicZone;
struct ZonePoint {
@@ -221,6 +227,8 @@ public:
std::unordered_map<uint32, std::unique_ptr<Expedition>> expedition_cache;
std::unordered_map<uint32, DynamicZoneTemplatesRepository::DynamicZoneTemplates> dz_template_cache;
std::unordered_map<uint32, EXPModifier> exp_modifiers;
time_t weather_timer;
Timer spawn2_timer;
Timer hot_reload_timer;
@@ -248,6 +256,12 @@ public:
std::string GetZoneDescription();
void SendReloadMessage(std::string reload_type);
void ClearEXPModifier(Client* c);
float GetAAEXPModifier(Client* c);
float GetEXPModifier(Client* c);
void SetAAEXPModifier(Client* c, float aa_modifier);
void SetEXPModifier(Client* c, float exp_modifier);
void AddAggroMob() { aggroedmobs++; }
void AddAuth(ServerZoneIncomingClient_Struct *szic);
void ChangeWeather();