mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 09:06:46 +00:00
Implmenet PetCures, add some missing types for defaults/chance to cast
This commit is contained in:
@@ -2849,6 +2849,7 @@ bool IsBotSpellTypeBeneficial(uint16 spellType) {
|
|||||||
case BotSpellTypes::Buff:
|
case BotSpellTypes::Buff:
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::DamageShields:
|
||||||
case BotSpellTypes::InCombatBuffSong:
|
case BotSpellTypes::InCombatBuffSong:
|
||||||
case BotSpellTypes::OutOfCombatBuffSong:
|
case BotSpellTypes::OutOfCombatBuffSong:
|
||||||
@@ -2898,6 +2899,7 @@ bool IsBotSpellTypeOtherBeneficial(uint16 spellType) {
|
|||||||
case BotSpellTypes::Buff:
|
case BotSpellTypes::Buff:
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::DamageShields:
|
||||||
case BotSpellTypes::PetDamageShields:
|
case BotSpellTypes::PetDamageShields:
|
||||||
case BotSpellTypes::PetBuffs:
|
case BotSpellTypes::PetBuffs:
|
||||||
@@ -3020,6 +3022,7 @@ bool IsPetBotSpellType(uint16 spellType) {
|
|||||||
case BotSpellTypes::PetHoTHeals:
|
case BotSpellTypes::PetHoTHeals:
|
||||||
case BotSpellTypes::PetDamageShields:
|
case BotSpellTypes::PetDamageShields:
|
||||||
case BotSpellTypes::PetResistBuffs:
|
case BotSpellTypes::PetResistBuffs:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -3046,6 +3049,7 @@ bool IsClientBotSpellType(uint16 spellType) {
|
|||||||
case BotSpellTypes::Buff:
|
case BotSpellTypes::Buff:
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::DamageShields:
|
||||||
case BotSpellTypes::PetDamageShields:
|
case BotSpellTypes::PetDamageShields:
|
||||||
case BotSpellTypes::PetBuffs:
|
case BotSpellTypes::PetBuffs:
|
||||||
@@ -3513,6 +3517,8 @@ uint16 GetPetSpellType(uint16 spellType) {
|
|||||||
return BotSpellTypes::PetVeryFastHeals;
|
return BotSpellTypes::PetVeryFastHeals;
|
||||||
case BotSpellTypes::HoTHeals:
|
case BotSpellTypes::HoTHeals:
|
||||||
return BotSpellTypes::PetHoTHeals;
|
return BotSpellTypes::PetHoTHeals;
|
||||||
|
case BotSpellTypes::Cures:
|
||||||
|
return BotSpellTypes::PetCures;
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::DamageShields:
|
||||||
return BotSpellTypes::PetDamageShields;
|
return BotSpellTypes::PetDamageShields;
|
||||||
case BotSpellTypes::ResistBuffs:
|
case BotSpellTypes::ResistBuffs:
|
||||||
|
|||||||
+5
-4
@@ -706,10 +706,11 @@ namespace BotSpellTypes
|
|||||||
constexpr uint16 PetFastHeals = 50;
|
constexpr uint16 PetFastHeals = 50;
|
||||||
constexpr uint16 PetVeryFastHeals = 51;
|
constexpr uint16 PetVeryFastHeals = 51;
|
||||||
constexpr uint16 PetHoTHeals = 52;
|
constexpr uint16 PetHoTHeals = 52;
|
||||||
constexpr uint16 DamageShields = 53;
|
constexpr uint16 PetCures = 53;
|
||||||
constexpr uint16 ResistBuffs = 54;
|
constexpr uint16 DamageShields = 54;
|
||||||
constexpr uint16 PetDamageShields = 55;
|
constexpr uint16 ResistBuffs = 55;
|
||||||
constexpr uint16 PetResistBuffs = 56;
|
constexpr uint16 PetDamageShields = 56;
|
||||||
|
constexpr uint16 PetResistBuffs = 57;
|
||||||
|
|
||||||
// Command Spell Types
|
// Command Spell Types
|
||||||
constexpr uint16 Teleport = 100; // this is handled by ^depart so uses other logic
|
constexpr uint16 Teleport = 100; // this is handled by ^depart so uses other logic
|
||||||
|
|||||||
+46
-37
@@ -10550,45 +10550,49 @@ uint16 Bot::GetDefaultSpellTypeIdlePriority(uint16 spellType, uint8 botClass, ui
|
|||||||
priority = 15;
|
priority = 15;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::Pet:
|
case BotSpellTypes::PetCures:
|
||||||
priority = 16;
|
priority = 16;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::Buff:
|
case BotSpellTypes::Pet:
|
||||||
priority = 17;
|
priority = 17;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::OutOfCombatBuffSong:
|
case BotSpellTypes::Buff:
|
||||||
priority = 18;
|
priority = 18;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::ResistBuffs:
|
case BotSpellTypes::OutOfCombatBuffSong:
|
||||||
priority = 19;
|
priority = 19;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::ResistBuffs:
|
||||||
priority = 20;
|
priority = 20;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::PetBuffs:
|
case BotSpellTypes::DamageShields:
|
||||||
priority = 21;
|
priority = 21;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::PreCombatBuff:
|
case BotSpellTypes::PetBuffs:
|
||||||
priority = 22;
|
priority = 22;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::PreCombatBuffSong:
|
case BotSpellTypes::PreCombatBuff:
|
||||||
priority = 23;
|
priority = 23;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::PetResistBuffs:
|
case BotSpellTypes::PreCombatBuffSong:
|
||||||
priority = 24;
|
priority = 24;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case BotSpellTypes::PetDamageShields:
|
case BotSpellTypes::PetResistBuffs:
|
||||||
priority = 25;
|
priority = 25;
|
||||||
|
|
||||||
|
break;
|
||||||
|
case BotSpellTypes::PetDamageShields:
|
||||||
|
priority = 26;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
priority = 0; //unused
|
priority = 0; //unused
|
||||||
@@ -10633,60 +10637,62 @@ uint16 Bot::GetDefaultSpellTypeEngagedPriority(uint16 spellType, uint8 botClass,
|
|||||||
return 15;
|
return 15;
|
||||||
case BotSpellTypes::PetHoTHeals:
|
case BotSpellTypes::PetHoTHeals:
|
||||||
return 16;
|
return 16;
|
||||||
case BotSpellTypes::AELifetap:
|
case BotSpellTypes::PetCures:
|
||||||
return 17;
|
return 17;
|
||||||
case BotSpellTypes::Lifetap:
|
case BotSpellTypes::AELifetap:
|
||||||
return 18;
|
return 18;
|
||||||
case BotSpellTypes::HateRedux:
|
case BotSpellTypes::Lifetap:
|
||||||
return 19;
|
return 19;
|
||||||
case BotSpellTypes::AEMez:
|
case BotSpellTypes::HateRedux:
|
||||||
return 20;
|
return 20;
|
||||||
case BotSpellTypes::Mez:
|
case BotSpellTypes::AEMez:
|
||||||
return 21;
|
return 21;
|
||||||
case BotSpellTypes::AEHateLine:
|
case BotSpellTypes::Mez:
|
||||||
return 22;
|
return 22;
|
||||||
case BotSpellTypes::HateLine:
|
case BotSpellTypes::AEHateLine:
|
||||||
return 23;
|
return 23;
|
||||||
case BotSpellTypes::AEDispel:
|
case BotSpellTypes::HateLine:
|
||||||
return 24;
|
return 24;
|
||||||
case BotSpellTypes::Dispel:
|
case BotSpellTypes::AEDispel:
|
||||||
return 25;
|
return 25;
|
||||||
case BotSpellTypes::AEDebuff:
|
case BotSpellTypes::Dispel:
|
||||||
return 26;
|
return 26;
|
||||||
case BotSpellTypes::Debuff:
|
case BotSpellTypes::AEDebuff:
|
||||||
return 27;
|
return 27;
|
||||||
case BotSpellTypes::AESnare:
|
case BotSpellTypes::Debuff:
|
||||||
return 28;
|
return 28;
|
||||||
case BotSpellTypes::Snare:
|
case BotSpellTypes::AESnare:
|
||||||
return 29;
|
return 29;
|
||||||
case BotSpellTypes::AESlow:
|
case BotSpellTypes::Snare:
|
||||||
return 30;
|
return 30;
|
||||||
case BotSpellTypes::Slow:
|
case BotSpellTypes::AESlow:
|
||||||
return 31;
|
return 31;
|
||||||
case BotSpellTypes::AERoot:
|
case BotSpellTypes::Slow:
|
||||||
return 32;
|
return 32;
|
||||||
case BotSpellTypes::Root:
|
case BotSpellTypes::AERoot:
|
||||||
return 33;
|
return 33;
|
||||||
case BotSpellTypes::AEDoT:
|
case BotSpellTypes::Root:
|
||||||
return 34;
|
return 34;
|
||||||
case BotSpellTypes::DOT:
|
case BotSpellTypes::AEDoT:
|
||||||
return 35;
|
return 35;
|
||||||
case BotSpellTypes::AEStun:
|
case BotSpellTypes::DOT:
|
||||||
return 36;
|
return 36;
|
||||||
case BotSpellTypes::PBAENuke:
|
case BotSpellTypes::AEStun:
|
||||||
return 37;
|
return 37;
|
||||||
case BotSpellTypes::AENukes:
|
case BotSpellTypes::PBAENuke:
|
||||||
return 38;
|
return 38;
|
||||||
case BotSpellTypes::AERains:
|
case BotSpellTypes::AENukes:
|
||||||
return 39;
|
return 39;
|
||||||
case BotSpellTypes::Stun:
|
case BotSpellTypes::AERains:
|
||||||
return 40;
|
return 40;
|
||||||
case BotSpellTypes::Nuke:
|
case BotSpellTypes::Stun:
|
||||||
return 41;
|
return 41;
|
||||||
case BotSpellTypes::InCombatBuff:
|
case BotSpellTypes::Nuke:
|
||||||
return 42;
|
return 42;
|
||||||
case BotSpellTypes::InCombatBuffSong:
|
case BotSpellTypes::InCombatBuff:
|
||||||
return 43;
|
return 43;
|
||||||
|
case BotSpellTypes::InCombatBuffSong:
|
||||||
|
return 44;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -10738,6 +10744,8 @@ uint16 Bot::GetDefaultSpellTypePursuePriority(uint16 spellType, uint8 botClass,
|
|||||||
return 21;
|
return 21;
|
||||||
case BotSpellTypes::PetHoTHeals:
|
case BotSpellTypes::PetHoTHeals:
|
||||||
return 22;
|
return 22;
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
|
return 23;
|
||||||
default:
|
default:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -11215,6 +11223,7 @@ uint16 Bot::GetSpellListSpellType(uint16 spellType) {
|
|||||||
return BotSpellTypes::Fear;
|
return BotSpellTypes::Fear;
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
return BotSpellTypes::Cure;
|
return BotSpellTypes::Cure;
|
||||||
case BotSpellTypes::AERoot:
|
case BotSpellTypes::AERoot:
|
||||||
case BotSpellTypes::Root:
|
case BotSpellTypes::Root:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ bool Bot::AICastSpell(Mob* tar, uint8 iChance, uint16 spellType, uint16 subTarge
|
|||||||
(spellType == BotSpellTypes::PreCombatBuffSong && tar->IsPet()) ||
|
(spellType == BotSpellTypes::PreCombatBuffSong && tar->IsPet()) ||
|
||||||
(!RuleB(Bots, AllowBuffingHealingFamiliars) && tar->IsFamiliar()) ||
|
(!RuleB(Bots, AllowBuffingHealingFamiliars) && tar->IsFamiliar()) ||
|
||||||
(tar->IsPet() && tar->IsCharmed() && spellType == BotSpellTypes::PetBuffs && !RuleB(Bots, AllowCharmedPetBuffs)) ||
|
(tar->IsPet() && tar->IsCharmed() && spellType == BotSpellTypes::PetBuffs && !RuleB(Bots, AllowCharmedPetBuffs)) ||
|
||||||
(tar->IsPet() && tar->IsCharmed() && (spellType == BotSpellTypes::Cure || spellType == BotSpellTypes::GroupCures) && !RuleB(Bots, AllowCharmedPetCures)) ||
|
(tar->IsPet() && tar->IsCharmed() && spellType == BotSpellTypes::PetCures && !RuleB(Bots, AllowCharmedPetCures)) ||
|
||||||
(tar->IsPet() && tar->IsCharmed() && IsHealBotSpellType(spellType) && !RuleB(Bots, AllowCharmedPetHeals))
|
(tar->IsPet() && tar->IsCharmed() && IsHealBotSpellType(spellType) && !RuleB(Bots, AllowCharmedPetHeals))
|
||||||
) {
|
) {
|
||||||
return false;
|
return false;
|
||||||
@@ -189,6 +189,7 @@ bool Bot::AICastSpell(Mob* tar, uint8 iChance, uint16 spellType, uint16 subTarge
|
|||||||
return BotCastHeal(tar, botClass, botSpell, spellType);
|
return BotCastHeal(tar, botClass, botSpell, spellType);
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
if (!tar->IsOfClientBot() && !(tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot())) {
|
if (!tar->IsOfClientBot() && !(tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2093,6 +2094,7 @@ uint8 Bot::GetChanceToCastBySpellType(uint16 spellType)
|
|||||||
case BotSpellTypes::Debuff:
|
case BotSpellTypes::Debuff:
|
||||||
return RuleI(Bots, PercentChanceToCastDebuff);
|
return RuleI(Bots, PercentChanceToCastDebuff);
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
return RuleI(Bots, PercentChanceToCastCure);
|
return RuleI(Bots, PercentChanceToCastCure);
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
return RuleI(Bots, PercentChanceToCastGroupCure);
|
return RuleI(Bots, PercentChanceToCastGroupCure);
|
||||||
|
|||||||
+97
-76
@@ -8863,6 +8863,9 @@ std::string Mob::GetSpellTypeNameByID(uint16 spellType) {
|
|||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
spellTypeName = "Group Cure";
|
spellTypeName = "Group Cure";
|
||||||
break;
|
break;
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
|
spellTypeName = "Pet Cure";
|
||||||
|
break;
|
||||||
case BotSpellTypes::Resurrect:
|
case BotSpellTypes::Resurrect:
|
||||||
spellTypeName = "Resurrect";
|
spellTypeName = "Resurrect";
|
||||||
break;
|
break;
|
||||||
@@ -9087,6 +9090,9 @@ std::string Mob::GetSpellTypeShortNameByID(uint16 spellType) {
|
|||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::GroupCures:
|
||||||
spellTypeName = "groupcures";
|
spellTypeName = "groupcures";
|
||||||
break;
|
break;
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
|
spellTypeName = "petcure";
|
||||||
|
break;
|
||||||
case BotSpellTypes::Resurrect:
|
case BotSpellTypes::Resurrect:
|
||||||
spellTypeName = "resurrect";
|
spellTypeName = "resurrect";
|
||||||
break;
|
break;
|
||||||
@@ -9298,7 +9304,56 @@ std::string Mob::GetSubTypeNameByID(uint16 subType) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
|
bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
|
||||||
|
uint8 botClass = GetClass();
|
||||||
|
|
||||||
switch (spellType) {
|
switch (spellType) {
|
||||||
|
case BotSpellTypes::FastHeals:
|
||||||
|
case BotSpellTypes::VeryFastHeals:
|
||||||
|
case BotSpellTypes::Pet:
|
||||||
|
case BotSpellTypes::Escape:
|
||||||
|
case BotSpellTypes::Lifetap:
|
||||||
|
case BotSpellTypes::Buff:
|
||||||
|
case BotSpellTypes::PetBuffs:
|
||||||
|
case BotSpellTypes::InCombatBuff:
|
||||||
|
case BotSpellTypes::PreCombatBuff:
|
||||||
|
case BotSpellTypes::DamageShields:
|
||||||
|
return false;
|
||||||
|
case BotSpellTypes::GroupCompleteHeals:
|
||||||
|
case BotSpellTypes::GroupHeals:
|
||||||
|
case BotSpellTypes::GroupHoTHeals:
|
||||||
|
case BotSpellTypes::HoTHeals:
|
||||||
|
case BotSpellTypes::CompleteHeal:
|
||||||
|
case BotSpellTypes::PetFastHeals:
|
||||||
|
case BotSpellTypes::PetRegularHeals:
|
||||||
|
case BotSpellTypes::PetVeryFastHeals:
|
||||||
|
case BotSpellTypes::RegularHeal:
|
||||||
|
switch (stance) {
|
||||||
|
case Stance::Aggressive:
|
||||||
|
case Stance::AEBurn:
|
||||||
|
case Stance::Burn:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
case BotSpellTypes::Cure:
|
||||||
|
case BotSpellTypes::GroupCures:
|
||||||
|
switch (stance) {
|
||||||
|
case Stance::Aggressive:
|
||||||
|
case Stance::AEBurn:
|
||||||
|
case Stance::Burn:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
case BotSpellTypes::InCombatBuffSong:
|
||||||
|
case BotSpellTypes::OutOfCombatBuffSong:
|
||||||
|
case BotSpellTypes::PreCombatBuffSong:
|
||||||
|
if (botClass == Class::Bard) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
case BotSpellTypes::Nuke:
|
case BotSpellTypes::Nuke:
|
||||||
case BotSpellTypes::DOT:
|
case BotSpellTypes::DOT:
|
||||||
case BotSpellTypes::Stun:
|
case BotSpellTypes::Stun:
|
||||||
@@ -9320,15 +9375,6 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
|
|||||||
default:
|
default:
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
case BotSpellTypes::AESnare:
|
|
||||||
case BotSpellTypes::AERoot:
|
|
||||||
case BotSpellTypes::Root:
|
|
||||||
case BotSpellTypes::AEDispel:
|
|
||||||
case BotSpellTypes::Dispel:
|
|
||||||
case BotSpellTypes::AEFear:
|
|
||||||
case BotSpellTypes::Fear:
|
|
||||||
case BotSpellTypes::AEHateLine:
|
|
||||||
return true;
|
|
||||||
case BotSpellTypes::Mez:
|
case BotSpellTypes::Mez:
|
||||||
case BotSpellTypes::AEMez:
|
case BotSpellTypes::AEMez:
|
||||||
case BotSpellTypes::Debuff:
|
case BotSpellTypes::Debuff:
|
||||||
@@ -9352,17 +9398,8 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
|
|||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
case BotSpellTypes::InCombatBuffSong:
|
|
||||||
case BotSpellTypes::OutOfCombatBuffSong:
|
|
||||||
case BotSpellTypes::PreCombatBuffSong:
|
|
||||||
if (GetClass() == Class::Bard) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
case BotSpellTypes::HateLine:
|
case BotSpellTypes::HateLine:
|
||||||
if (GetClass() == Class::ShadowKnight || GetClass() == Class::Paladin) {
|
if (botClass == Class::ShadowKnight || botClass == Class::Paladin) {
|
||||||
switch (stance) {
|
switch (stance) {
|
||||||
case Stance::Aggressive:
|
case Stance::Aggressive:
|
||||||
return false;
|
return false;
|
||||||
@@ -9373,45 +9410,23 @@ bool Mob::GetDefaultSpellHold(uint16 spellType, uint8 stance) {
|
|||||||
else {
|
else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Charm:
|
||||||
case BotSpellTypes::GroupCures:
|
case BotSpellTypes::Resurrect:
|
||||||
switch (stance) {
|
case BotSpellTypes::AESnare:
|
||||||
case Stance::Aggressive:
|
case BotSpellTypes::AERoot:
|
||||||
case Stance::AEBurn:
|
case BotSpellTypes::Root:
|
||||||
case Stance::Burn:
|
case BotSpellTypes::AEDispel:
|
||||||
return true;
|
case BotSpellTypes::Dispel:
|
||||||
default:
|
case BotSpellTypes::AEFear:
|
||||||
return false;
|
case BotSpellTypes::Fear:
|
||||||
}
|
case BotSpellTypes::AEHateLine:
|
||||||
case BotSpellTypes::GroupCompleteHeals:
|
case BotSpellTypes::PetCures:
|
||||||
case BotSpellTypes::GroupHeals:
|
|
||||||
case BotSpellTypes::GroupHoTHeals:
|
|
||||||
case BotSpellTypes::HoTHeals:
|
|
||||||
case BotSpellTypes::CompleteHeal:
|
|
||||||
case BotSpellTypes::PetCompleteHeals:
|
|
||||||
case BotSpellTypes::PetFastHeals:
|
|
||||||
case BotSpellTypes::PetHoTHeals:
|
case BotSpellTypes::PetHoTHeals:
|
||||||
case BotSpellTypes::PetRegularHeals:
|
case BotSpellTypes::PetCompleteHeals:
|
||||||
case BotSpellTypes::PetVeryFastHeals:
|
case BotSpellTypes::PetDamageShields:
|
||||||
case BotSpellTypes::RegularHeal:
|
case BotSpellTypes::PetResistBuffs:
|
||||||
switch (stance) {
|
|
||||||
case Stance::Aggressive:
|
|
||||||
case Stance::AEBurn:
|
|
||||||
case Stance::Burn:
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
case BotSpellTypes::FastHeals:
|
|
||||||
case BotSpellTypes::VeryFastHeals:
|
|
||||||
case BotSpellTypes::Pet:
|
|
||||||
case BotSpellTypes::Escape:
|
|
||||||
case BotSpellTypes::Lifetap:
|
|
||||||
case BotSpellTypes::Buff:
|
|
||||||
case BotSpellTypes::InCombatBuff:
|
|
||||||
case BotSpellTypes::PreCombatBuff:
|
|
||||||
default:
|
default:
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9531,6 +9546,8 @@ uint8 Mob::GetDefaultSpellMinThreshold(uint16 spellType, uint8 stance) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
|
uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
|
||||||
|
uint8 botClass = GetClass();
|
||||||
|
|
||||||
switch (spellType) {
|
switch (spellType) {
|
||||||
case BotSpellTypes::Escape:
|
case BotSpellTypes::Escape:
|
||||||
case BotSpellTypes::VeryFastHeals:
|
case BotSpellTypes::VeryFastHeals:
|
||||||
@@ -9599,6 +9616,7 @@ uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
|
|||||||
case BotSpellTypes::Snare:
|
case BotSpellTypes::Snare:
|
||||||
case BotSpellTypes::AEFear:
|
case BotSpellTypes::AEFear:
|
||||||
case BotSpellTypes::Fear:
|
case BotSpellTypes::Fear:
|
||||||
|
case BotSpellTypes::AEDispel:
|
||||||
case BotSpellTypes::Dispel:
|
case BotSpellTypes::Dispel:
|
||||||
case BotSpellTypes::AEDebuff:
|
case BotSpellTypes::AEDebuff:
|
||||||
case BotSpellTypes::Debuff:
|
case BotSpellTypes::Debuff:
|
||||||
@@ -9614,10 +9632,30 @@ uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
|
|||||||
default:
|
default:
|
||||||
return 99;
|
return 99;
|
||||||
}
|
}
|
||||||
|
case BotSpellTypes::GroupHoTHeals:
|
||||||
|
case BotSpellTypes::HoTHeals:
|
||||||
|
case BotSpellTypes::PetHoTHeals:
|
||||||
|
if (botClass == Class::Necromancer || botClass == Class::Shaman) {
|
||||||
|
return 60;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
switch (stance) {
|
||||||
|
case Stance::AEBurn:
|
||||||
|
case Stance::Burn:
|
||||||
|
case Stance::Aggressive:
|
||||||
|
return 95;
|
||||||
|
case Stance::Efficient:
|
||||||
|
return 80;
|
||||||
|
default:
|
||||||
|
return 90;
|
||||||
|
}
|
||||||
|
}
|
||||||
case BotSpellTypes::Buff:
|
case BotSpellTypes::Buff:
|
||||||
case BotSpellTypes::Charm:
|
case BotSpellTypes::Charm:
|
||||||
case BotSpellTypes::Cure:
|
case BotSpellTypes::Cure:
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::GroupCures:
|
||||||
|
case BotSpellTypes::PetCures:
|
||||||
|
case BotSpellTypes::DamageShields:
|
||||||
case BotSpellTypes::HateRedux:
|
case BotSpellTypes::HateRedux:
|
||||||
case BotSpellTypes::InCombatBuff:
|
case BotSpellTypes::InCombatBuff:
|
||||||
case BotSpellTypes::InCombatBuffSong:
|
case BotSpellTypes::InCombatBuffSong:
|
||||||
@@ -9634,25 +9672,6 @@ uint8 Mob::GetDefaultSpellMaxThreshold(uint16 spellType, uint8 stance) {
|
|||||||
case BotSpellTypes::Resurrect:
|
case BotSpellTypes::Resurrect:
|
||||||
case BotSpellTypes::HateLine:
|
case BotSpellTypes::HateLine:
|
||||||
case BotSpellTypes::AEHateLine:
|
case BotSpellTypes::AEHateLine:
|
||||||
return 100;
|
|
||||||
case BotSpellTypes::GroupHoTHeals:
|
|
||||||
case BotSpellTypes::HoTHeals:
|
|
||||||
case BotSpellTypes::PetHoTHeals:
|
|
||||||
if (GetClass() == Class::Necromancer || GetClass() == Class::Shaman) {
|
|
||||||
return 60;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
switch (stance) {
|
|
||||||
case Stance::AEBurn:
|
|
||||||
case Stance::Burn:
|
|
||||||
case Stance::Aggressive:
|
|
||||||
return 95;
|
|
||||||
case Stance::Efficient:
|
|
||||||
return 80;
|
|
||||||
default:
|
|
||||||
return 90;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
default:
|
default:
|
||||||
return 100;
|
return 100;
|
||||||
}
|
}
|
||||||
@@ -9785,6 +9804,8 @@ uint16 Mob::GetPetSpellType(uint16 spellType) {
|
|||||||
return BotSpellTypes::PetHoTHeals;
|
return BotSpellTypes::PetHoTHeals;
|
||||||
case BotSpellTypes::Buff:
|
case BotSpellTypes::Buff:
|
||||||
return BotSpellTypes::PetBuffs;
|
return BotSpellTypes::PetBuffs;
|
||||||
|
case BotSpellTypes::Cure:
|
||||||
|
return BotSpellTypes::PetCures;
|
||||||
case BotSpellTypes::DamageShields:
|
case BotSpellTypes::DamageShields:
|
||||||
return BotSpellTypes::PetDamageShields;
|
return BotSpellTypes::PetDamageShields;
|
||||||
case BotSpellTypes::ResistBuffs:
|
case BotSpellTypes::ResistBuffs:
|
||||||
|
|||||||
Reference in New Issue
Block a user