[Bug] Item Purchase Offset when multiple buyers are buying at the same time. (#4628)

* [Bug] Item Purchase Offset when multiple buyers are buying at the same time.

- Much of the code lifted from TAKP/P2002 and adapted
- Needs Testing
- This should help prevent situations where multiple people are purchasing items from a merchant and both attempt to purchase the same temp merchant or limited item, it should result in the later person recieving a notice that the item no longer exists and refreshes the merchant table.
- Updated strings

* fix formatting

* Push

* Update client.cpp

* Update database_update_manifest.cpp

* Update database_update_manifest.cpp

* Update database_update_manifest.cpp

* Update client.cpp

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
Fryguy
2025-02-05 21:56:57 -05:00
committed by GitHub
parent 752ac78c56
commit 7021602bf4
9 changed files with 128 additions and 51 deletions
+5
View File
@@ -1387,6 +1387,9 @@ public:
std::string GetRacePlural();
std::string GetClassPlural();
inline void SetMerchantSessionEntityID(uint16 value) { m_merchant_session_entity_id = value; }
inline uint16 GetMerchantSessionEntityID() { return m_merchant_session_entity_id; }
//Command #Tune functions
void TuneGetStats(Mob* defender, Mob *attacker);
void TuneGetACByPctMitigation(Mob* defender, Mob *attacker, float pct_mitigation, int interval = 10, int max_loop = 1000, int atk_override = 0, int Msg = 0);
@@ -1920,6 +1923,8 @@ protected:
MobMovementManager *mMovementManager;
uint16 m_merchant_session_entity_id;
private:
Mob* target;
EQ::InventoryProfile m_inv;