Handle SMSG_BUY_ITEM, SMSG_CRITERIA_UPDATE, SMSG_BARBER_SHOP_RESULT, SMSG_OVERRIDE_LIGHT

- SMSG_BUY_ITEM: log successful purchase and clear pending buy state
- SMSG_CRITERIA_UPDATE: log achievement criteria progress (no UI yet)
- SMSG_BARBER_SHOP_RESULT: show success/failure message in chat
- SMSG_OVERRIDE_LIGHT: store zone light override id + transition time, expose via getOverrideLightId()/getOverrideLightTransMs()
This commit is contained in:
Kelsi 2026-03-09 14:57:46 -07:00
parent deed8011d7
commit aa737def7f
2 changed files with 63 additions and 0 deletions

View file

@ -555,6 +555,8 @@ public:
float getWeatherIntensity() const { return weatherIntensity_; }
bool isRaining() const { return weatherType_ == 1 && weatherIntensity_ > 0.05f; }
bool isSnowing() const { return weatherType_ == 2 && weatherIntensity_ > 0.05f; }
uint32_t getOverrideLightId() const { return overrideLightId_; }
uint32_t getOverrideLightTransMs() const { return overrideLightTransMs_; }
// Player skills
const std::map<uint32_t, PlayerSkill>& getPlayerSkills() const { return playerSkills_; }
@ -2005,6 +2007,10 @@ private:
uint32_t weatherType_ = 0; // 0=clear, 1=rain, 2=snow, 3=storm
float weatherIntensity_ = 0.0f; // 0.0 to 1.0
// ---- Light override (SMSG_OVERRIDE_LIGHT) ----
uint32_t overrideLightId_ = 0; // 0 = no override
uint32_t overrideLightTransMs_ = 0;
// ---- Player skills ----
std::map<uint32_t, PlayerSkill> playerSkills_;
std::unordered_map<uint32_t, std::string> skillLineNames_;