diff --git a/changelog.txt b/changelog.txt index e4d25c545..e9e0946d8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -4,6 +4,7 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50) Trevius: (RoF2) Fixed Leadership AA Purchasing and Recipe Search by correcting opcodes. Trevius: Fixed Armor Tinting (players and NPCs) that was broken during a previous update. Trevius: (RoF2) Fixed Rest Timer, Show Helm Option, Auto-Consent Options, and identified Krono in the PP. +Trevius: Fixed Selling for Alternate Currency Merchants for RoF and RoF2. == 12/18/2014 == Trevius: Finished lining up the RoF2 Player Profile Struct. Zone times are now normal, and everything from the PP is accurate in game now. diff --git a/common/patches/rof.cpp b/common/patches/rof.cpp index 8218f1f22..ad6fb95d6 100644 --- a/common/patches/rof.cpp +++ b/common/patches/rof.cpp @@ -205,7 +205,7 @@ namespace RoF SETUP_DIRECT_ENCODE(AltCurrencySellItem_Struct, structs::AltCurrencySellItem_Struct); OUT(merchant_entity_id); - eq->slot_id = ServerToRoFSlot(emu->slot_id); + eq->slot_id = ServerToRoFMainInvSlot(emu->slot_id); OUT(charges); OUT(cost); @@ -3881,7 +3881,7 @@ namespace RoF SETUP_DIRECT_DECODE(AltCurrencySellItem_Struct, structs::AltCurrencySellItem_Struct); IN(merchant_entity_id); - emu->slot_id = RoFToServerSlot(eq->slot_id); + emu->slot_id = RoFToServerMainInvSlot(eq->slot_id); IN(charges); IN(cost); @@ -3894,7 +3894,7 @@ namespace RoF SETUP_DIRECT_DECODE(AltCurrencySelectItem_Struct, structs::AltCurrencySelectItem_Struct); IN(merchant_entity_id); - emu->slot_id = RoFToServerSlot(eq->slot_id); + emu->slot_id = RoFToServerMainInvSlot(eq->slot_id); FINISH_DIRECT_DECODE(); } diff --git a/common/patches/rof2.cpp b/common/patches/rof2.cpp index f175c3edc..d49f00253 100644 --- a/common/patches/rof2.cpp +++ b/common/patches/rof2.cpp @@ -205,7 +205,7 @@ namespace RoF2 SETUP_DIRECT_ENCODE(AltCurrencySellItem_Struct, structs::AltCurrencySellItem_Struct); OUT(merchant_entity_id); - eq->slot_id = ServerToRoF2Slot(emu->slot_id); + eq->slot_id = ServerToRoF2MainInvSlot(emu->slot_id); OUT(charges); OUT(cost); @@ -3895,7 +3895,7 @@ namespace RoF2 SETUP_DIRECT_DECODE(AltCurrencySellItem_Struct, structs::AltCurrencySellItem_Struct); IN(merchant_entity_id); - emu->slot_id = RoF2ToServerSlot(eq->slot_id); + emu->slot_id = RoF2ToServerMainInvSlot(eq->slot_id); IN(charges); IN(cost); @@ -3908,7 +3908,7 @@ namespace RoF2 SETUP_DIRECT_DECODE(AltCurrencySelectItem_Struct, structs::AltCurrencySelectItem_Struct); IN(merchant_entity_id); - emu->slot_id = RoF2ToServerSlot(eq->slot_id); + emu->slot_id = RoF2ToServerMainInvSlot(eq->slot_id); FINISH_DIRECT_DECODE(); } diff --git a/common/patches/rof2_structs.h b/common/patches/rof2_structs.h index efd80d0e8..6776ff0e7 100644 --- a/common/patches/rof2_structs.h +++ b/common/patches/rof2_structs.h @@ -2180,8 +2180,8 @@ struct AltCurrencyUpdate_Struct { //When an item is selected while the alt currency merchant window is open struct AltCurrencySelectItem_Struct { /*000*/ uint32 merchant_entity_id; +/*004*/ MainInvItemSlotStruct slot_id; /*004*/ //uint32 slot_id; - ItemSlotStruct slot_id; /*008*/ uint32 unknown008; /*012*/ uint32 unknown012; /*016*/ uint32 unknown016; @@ -2238,10 +2238,10 @@ struct AltCurrencyReclaim_Struct { struct AltCurrencySellItem_Struct { /*000*/ uint32 merchant_entity_id; +/*004*/ MainInvItemSlotStruct slot_id; /*004*/ //uint32 slot_id; - ItemSlotStruct slot_id; -/*008*/ uint32 charges; -/*012*/ uint32 cost; +/*016*/ uint32 charges; +/*020*/ uint32 cost; }; struct Adventure_Purchase_Struct { @@ -2261,14 +2261,14 @@ struct Adventure_Sell_Struct { }; struct AdventurePoints_Update_Struct { -/*000*/ uint32 ldon_available_points; // Total available points -/*004*/ uint8 unkown_apu004[20]; -/*024*/ uint32 ldon_guk_points; // Earned Deepest Guk points -/*028*/ uint32 ldon_mirugal_points; // Earned Mirugal' Mebagerie points -/*032*/ uint32 ldon_mistmoore_points; // Earned Mismoore Catacombs Points -/*036*/ uint32 ldon_rujarkian_points; // Earned Rujarkian Hills points -/*040*/ uint32 ldon_takish_points; // Earned Takish points -/*044*/ uint8 unknown_apu042[216]; +/*000*/ uint32 ldon_available_points; // Total available points +/*004*/ uint8 unkown_apu004[20]; +/*024*/ uint32 ldon_guk_points; // Earned Deepest Guk points +/*028*/ uint32 ldon_mirugal_points; // Earned Mirugal' Mebagerie points +/*032*/ uint32 ldon_mistmoore_points; // Earned Mismoore Catacombs Points +/*036*/ uint32 ldon_rujarkian_points; // Earned Rujarkian Hills points +/*040*/ uint32 ldon_takish_points; // Earned Takish points +/*044*/ uint8 unknown_apu042[216]; }; diff --git a/common/patches/rof_structs.h b/common/patches/rof_structs.h index a7b494d0d..c84a670a9 100644 --- a/common/patches/rof_structs.h +++ b/common/patches/rof_structs.h @@ -2174,8 +2174,7 @@ struct AltCurrencyUpdate_Struct { //When an item is selected while the alt currency merchant window is open struct AltCurrencySelectItem_Struct { /*000*/ uint32 merchant_entity_id; -/*004*/ //uint32 slot_id; - ItemSlotStruct slot_id; +/*004*/ MainInvItemSlotStruct slot_id; /*008*/ uint32 unknown008; /*012*/ uint32 unknown012; /*016*/ uint32 unknown016; @@ -2232,8 +2231,7 @@ struct AltCurrencyReclaim_Struct { struct AltCurrencySellItem_Struct { /*000*/ uint32 merchant_entity_id; -/*004*/ //uint32 slot_id; - ItemSlotStruct slot_id; +/*004*/ MainInvItemSlotStruct slot_id; /*008*/ uint32 charges; /*012*/ uint32 cost; }; diff --git a/common/patches/underfoot_structs.h b/common/patches/underfoot_structs.h index 378665db1..3a63a8c0f 100644 --- a/common/patches/underfoot_structs.h +++ b/common/patches/underfoot_structs.h @@ -4365,8 +4365,8 @@ struct AltCurrencySelectItem_Struct { struct AltCurrencySellItem_Struct { /*000*/ uint32 merchant_entity_id; /*004*/ uint32 slot_id; -/*006*/ uint32 charges; -/*010*/ uint32 cost; +/*008*/ uint32 charges; +/*012*/ uint32 cost; }; struct AltCurrencyPopulateEntry_Struct