[Merchants] Add New Classic Greed/Faction/Charisma Prices Rule (#4301)

* [Merchants] Add New Classic Greed/Faction/Charisma Prices Rule

* Fix size of greed field.

* Fix { formatting and add {} to one liners

* Fix return type of GetGreedPercent

* Remove code that slipped in from another patch

* Fix greed to be unsigned

* Update client.cpp

* Update client_packet.cpp

* Update client.cpp

Fix bad name in extra log message added manually from merge.

* Update client_packet.cpp

Spacing.

* Update client.cpp

---------

Co-authored-by: Kinglykrab <kinglykrab@gmail.com>
This commit is contained in:
Paul Coene
2024-05-17 11:16:02 -04:00
committed by GitHub
parent a80ab75260
commit c0a8fd097e
11 changed files with 605 additions and 457 deletions
+12 -2
View File
@@ -902,9 +902,14 @@ void Client::BulkSendMerchantInventory(int merchant_id, int npcid) {
auto inst = database.CreateItem(item, charges);
if (inst) {
auto item_price = static_cast<uint32>(item->Price * RuleR(Merchant, SellCostMod) * item->SellRate);
auto item_price = static_cast<uint32>(item->Price * item->SellRate);
auto item_charges = charges ? charges : 1;
// Don't use SellCostMod if using UseClassicPriceMod
if (!RuleB(Merchant, UseClassicPriceMod)) {
item_price *= RuleR(Merchant, SellCostMod);
}
if (RuleB(Merchant, UsePriceMod)) {
item_price *= Client::CalcPriceMod(npc);
}
@@ -948,9 +953,14 @@ void Client::BulkSendMerchantInventory(int merchant_id, int npcid) {
auto charges = item->MaxCharges;
auto inst = database.CreateItem(item, charges);
if (inst) {
auto item_price = static_cast<uint32>(item->Price * RuleR(Merchant, SellCostMod) * item->SellRate);
auto item_price = static_cast<uint32>(item->Price * item->SellRate);
auto item_charges = charges ? charges : 1;
// Don't use SellCostMod if using UseClassicPriceMod
if (!RuleB(Merchant, UseClassicPriceMod)) {
item_price *= RuleR(Merchant, SellCostMod);
}
if (RuleB(Merchant, UsePriceMod)) {
item_price *= Client::CalcPriceMod(npc);
}