From ca1560f043df275d9241055adbf61a393666a533 Mon Sep 17 00:00:00 2001 From: Mykhailo Redko Date: Tue, 13 Feb 2024 16:55:37 +0200 Subject: Core/Players: Improvements for talent reset logic. (#29580) * Clean up Player::ResetTalents() from unnecessary logic, such as withdrawing money. Move it to more suitable places. * Implemented SMSG_TALENTS_INVOLUNTARILY_RESET and use it instead of old trinity_string. * Do not reset the accumulated talent reset cost if CONFIG_NO_RESET_TALENT_COST is enabled. --- src/server/scripts/Commands/cs_reset.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/server/scripts/Commands') diff --git a/src/server/scripts/Commands/cs_reset.cpp b/src/server/scripts/Commands/cs_reset.cpp index 0680f7985b5..3b357fcde23 100644 --- a/src/server/scripts/Commands/cs_reset.cpp +++ b/src/server/scripts/Commands/cs_reset.cpp @@ -223,10 +223,9 @@ public: Unit* owner = creature->GetOwner(); if (owner && owner->GetTypeId() == TYPEID_PLAYER && creature->ToPet()->IsPermanentPetFor(owner->ToPlayer())) { - creature->ToPet()->resetTalents(); + creature->ToPet()->resetTalents(true); owner->ToPlayer()->SendTalentsInfoData(true); - ChatHandler(owner->ToPlayer()->GetSession()).SendSysMessage(LANG_RESET_PET_TALENTS); if (!handler->GetSession() || handler->GetSession()->GetPlayer() != owner->ToPlayer()) handler->PSendSysMessage(LANG_RESET_PET_TALENTS_ONLINE, handler->GetNameLink(owner->ToPlayer()).c_str()); } @@ -242,12 +241,11 @@ public: { target->ResetTalents(true); target->SendTalentsInfoData(false); - ChatHandler(target->GetSession()).SendSysMessage(LANG_RESET_TALENTS); if (!handler->GetSession() || handler->GetSession()->GetPlayer() != target) handler->PSendSysMessage(LANG_RESET_TALENTS_ONLINE, handler->GetNameLink(target).c_str()); Pet* pet = target->GetPet(); - Pet::resetTalentsForAllPetsOf(target, pet); + Pet::resetTalentsForAllPetsOf(target, pet, true); if (pet) target->SendTalentsInfoData(true); return true; -- cgit v1.2.3