From fef8c623ff43a1b223b201acf28c443cecf48b8f Mon Sep 17 00:00:00 2001 From: nytmyr <53322305+nytmyr@users.noreply.github.com> Date: Fri, 31 Jan 2025 16:45:20 -0600 Subject: [PATCH] Add more logic for necros/shaman for default heal thresholds due to lich and canni --- zone/bot.cpp | 32 ++++++++++++++++++++++++++++++-- zone/client_bot.cpp | 9 +++++++-- 2 files changed, 37 insertions(+), 4 deletions(-) diff --git a/zone/bot.cpp b/zone/bot.cpp index 7657f8b36..b40149aed 100644 --- a/zone/bot.cpp +++ b/zone/bot.cpp @@ -12989,6 +12989,20 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) { } case BotSpellTypes::GroupHeals: case BotSpellTypes::RegularHeal: + if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellHold(BotSpellTypes::InCombatBuff))) { + return 60; + } + + switch (stance) { + case Stance::AEBurn: + case Stance::Burn: + case Stance::Aggressive: + return 70; + case Stance::Efficient: + return 50; + default: + return 60; + } case BotSpellTypes::PetRegularHeals: switch (stance) { case Stance::AEBurn: @@ -13002,6 +13016,20 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) { } case BotSpellTypes::CompleteHeal: case BotSpellTypes::GroupCompleteHeals: + if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellHold(BotSpellTypes::InCombatBuff))) { + return 55; + } + + switch (stance) { + case Stance::AEBurn: + case Stance::Burn: + case Stance::Aggressive: + return 90; + case Stance::Efficient: + return 65; + default: + return 80; + } case BotSpellTypes::PetCompleteHeals: switch (stance) { case Stance::AEBurn: @@ -13047,8 +13075,8 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) { case BotSpellTypes::GroupHoTHeals: case BotSpellTypes::HoTHeals: case BotSpellTypes::PetHoTHeals: - if (bot_class == Class::Necromancer || bot_class == Class::Shaman) { - return 60; + if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellHold(BotSpellTypes::InCombatBuff))) { + return 70; } else { switch (stance) { diff --git a/zone/client_bot.cpp b/zone/client_bot.cpp index f1fc61dbd..2219c19dc 100644 --- a/zone/client_bot.cpp +++ b/zone/client_bot.cpp @@ -403,12 +403,17 @@ uint8 Client::GetDefaultSpellMaxThreshold(uint16 spell_type) { case BotSpellTypes::CompleteHeal: case BotSpellTypes::GroupCompleteHeals: case BotSpellTypes::PetCompleteHeals: - return 80; + if (client_class == Class::Necromancer || client_class == Class::Shaman) { + return 55; + } + else { + return 80; + } case BotSpellTypes::GroupHoTHeals: case BotSpellTypes::HoTHeals: case BotSpellTypes::PetHoTHeals: if (client_class == Class::Necromancer || client_class == Class::Shaman) { - return 60; + return 70; } else { return 90;