From f727c9f75a000fbaa9ac1eba0b02996e7f231f97 Mon Sep 17 00:00:00 2001 From: Aeadoin <109764533+Aeadoin@users.noreply.github.com> Date: Tue, 31 Jan 2023 21:11:12 -0500 Subject: [PATCH] [Bug Fix] Fix does_augment_fit_slot method. (#2817) * [Bug Fix] DoesAugmentFit finds if an Aug Slot is free, changed overload method to check if Aug fits slot. * Tweak/add lua --- zone/embparser_api.cpp | 4 ++-- zone/lua_general.cpp | 4 ++-- zone/questmgr.cpp | 7 ++----- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/zone/embparser_api.cpp b/zone/embparser_api.cpp index ac4881b30..b46a4c920 100644 --- a/zone/embparser_api.cpp +++ b/zone/embparser_api.cpp @@ -3981,7 +3981,7 @@ int8 Perl__does_augment_fit(EQ::ItemInstance* inst, uint32 augment_id) return quest_manager.DoesAugmentFit(inst, augment_id); } -int8 Perl__does_augment_fit(EQ::ItemInstance* inst, uint32 augment_id, uint8 augment_slot) +int8 Perl__does_augment_fit_slot(EQ::ItemInstance* inst, uint32 augment_id, uint8 augment_slot) { return quest_manager.DoesAugmentFit(inst, augment_id, augment_slot); } @@ -4332,7 +4332,7 @@ void perl_register_quest() package.add("doanim", (void(*)(int, int, bool, int))&Perl__doanim); package.add("do_augment_slots_match", &Perl__do_augment_slots_match); package.add("does_augment_fit", (int8(*)(EQ::ItemInstance*, uint32))&Perl__does_augment_fit); - package.add("does_augment_fit", (int8(*)(EQ::ItemInstance*, uint32, uint8))&Perl__does_augment_fit); + package.add("does_augment_fit_slot", (int8(*)(EQ::ItemInstance*, uint32, uint8))&Perl__does_augment_fit_slot); package.add("echo", &Perl__echo); package.add("emote", &Perl__emote); package.add("enable_proximity_say", &Perl__enable_proximity_say); diff --git a/zone/lua_general.cpp b/zone/lua_general.cpp index 4bb9c9bdb..d9eb5559f 100644 --- a/zone/lua_general.cpp +++ b/zone/lua_general.cpp @@ -3700,7 +3700,7 @@ int8 lua_does_augment_fit(Lua_ItemInst inst, uint32 augment_id) return quest_manager.DoesAugmentFit(inst, augment_id); } -int8 lua_does_augment_fit(Lua_ItemInst inst, uint32 augment_id, uint8 augment_slot) +int8 lua_does_augment_fit_slot(Lua_ItemInst inst, uint32 augment_id, uint8 augment_slot) { return quest_manager.DoesAugmentFit(inst, augment_id, augment_slot); } @@ -4223,7 +4223,7 @@ luabind::scope lua_register_general() { luabind::def("do_anim", (void(*)(int,int,bool,int))&lua_do_anim), luabind::def("do_augment_slots_match", &lua_do_augment_slots_match), luabind::def("does_augment_fit", (int8(*)(Lua_ItemInst, uint32))&lua_does_augment_fit), - luabind::def("does_augment_fit", (int8(*)(Lua_ItemInst, uint32, uint8))&lua_does_augment_fit), + luabind::def("does_augment_fit_slot", (int8(*)(Lua_ItemInst, uint32, uint8))&lua_does_augment_fit_slot), /* Cross Zone */ diff --git a/zone/questmgr.cpp b/zone/questmgr.cpp index 004c88ed6..356951810 100644 --- a/zone/questmgr.cpp +++ b/zone/questmgr.cpp @@ -3980,11 +3980,8 @@ int8 QuestManager::DoesAugmentFit(EQ::ItemInstance* inst, uint32 augment_id, uin return INVALID_INDEX; } - if ( - augment_slot != 255 && - !inst->IsAugmentSlotAvailable(aug_inst->AugType, augment_slot) - ) { - return INVALID_INDEX; + if (augment_slot != 255) { + return !inst->IsAugmentSlotAvailable(aug_inst->AugType, augment_slot) ? INVALID_INDEX : augment_slot; } return inst->AvailableAugmentSlot(aug_inst->AugType);