Add lull/aelull to ^cast

This commit is contained in:
nytmyr
2024-12-10 14:03:33 -06:00
parent 211908196e
commit f3e0fdae73
7 changed files with 30 additions and 3 deletions
+1
View File
@@ -878,6 +878,7 @@ RULE_BOOL(Bots, AllowCommandedCharm, true, "If enabled bots can be commanded to
RULE_BOOL(Bots, AllowCommandedMez, true, "If enabled bots can be commanded to mez NPCs.") RULE_BOOL(Bots, AllowCommandedMez, true, "If enabled bots can be commanded to mez NPCs.")
RULE_BOOL(Bots, AllowCommandedResurrect, true, "If enabled bots can be commanded to resurrect players.") RULE_BOOL(Bots, AllowCommandedResurrect, true, "If enabled bots can be commanded to resurrect players.")
RULE_BOOL(Bots, AllowCommandedSummonCorpse, true, "If enabled bots can be commanded to summon other's corpses.") RULE_BOOL(Bots, AllowCommandedSummonCorpse, true, "If enabled bots can be commanded to summon other's corpses.")
RULE_BOOL(Bots, AllowCommandedLull, true, "If enabled bots can be commanded to lull targets.")
RULE_INT(Bots, CampTimer, 25, "Number of seconds after /camp has begun before bots camp out.") RULE_INT(Bots, CampTimer, 25, "Number of seconds after /camp has begun before bots camp out.")
RULE_BOOL(Bots, SendClassRaceOnHelp, true, "If enabled a reminder of how to check class/race IDs will be sent when using compatible commands.") RULE_BOOL(Bots, SendClassRaceOnHelp, true, "If enabled a reminder of how to check class/race IDs will be sent when using compatible commands.")
RULE_BOOL(Bots, AllowCrossGroupRaidAssist, true, "If enabled bots will autodefend group or raid members set as main assist.") RULE_BOOL(Bots, AllowCrossGroupRaidAssist, true, "If enabled bots will autodefend group or raid members set as main assist.")
+7
View File
@@ -2820,6 +2820,7 @@ bool IsBotSpellTypeDetrimental(uint16 spellType, uint8 cls) {
case BotSpellTypes::AELifetap: case BotSpellTypes::AELifetap:
case BotSpellTypes::PBAENuke: case BotSpellTypes::PBAENuke:
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
case BotSpellTypes::AELull:
case BotSpellTypes::HateLine: case BotSpellTypes::HateLine:
case BotSpellTypes::AEHateLine: case BotSpellTypes::AEHateLine:
return true; return true;
@@ -2946,6 +2947,9 @@ bool IsBotSpellTypeInnate(uint16 spellType) {
case BotSpellTypes::AEMez: case BotSpellTypes::AEMez:
case BotSpellTypes::Mez: case BotSpellTypes::Mez:
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
case BotSpellTypes::AELull:
case BotSpellTypes::HateLine:
case BotSpellTypes::AEHateLine:
return true; return true;
default: default:
return false; return false;
@@ -2969,6 +2973,8 @@ bool IsAEBotSpellType(uint16 spellType) {
case BotSpellTypes::PBAENuke: case BotSpellTypes::PBAENuke:
case BotSpellTypes::AELifetap: case BotSpellTypes::AELifetap:
case BotSpellTypes::AERoot: case BotSpellTypes::AERoot:
case BotSpellTypes::AEHateLine:
case BotSpellTypes::AELull:
return true; return true;
default: default:
return false; return false;
@@ -3242,6 +3248,7 @@ bool IsCommandedSpellType(uint16 spellType) {
case BotSpellTypes::MovementSpeed: case BotSpellTypes::MovementSpeed:
case BotSpellTypes::SendHome: case BotSpellTypes::SendHome:
case BotSpellTypes::SummonCorpse: case BotSpellTypes::SummonCorpse:
case BotSpellTypes::AELull:
//case BotSpellTypes::Cure: //case BotSpellTypes::Cure:
//case BotSpellTypes::GroupCures: //case BotSpellTypes::GroupCures:
//case BotSpellTypes::DamageShields: //case BotSpellTypes::DamageShields:
+2 -1
View File
@@ -725,11 +725,12 @@ namespace BotSpellTypes
constexpr uint16 MovementSpeed = 110; constexpr uint16 MovementSpeed = 110;
constexpr uint16 SendHome = 111; constexpr uint16 SendHome = 111;
constexpr uint16 SummonCorpse = 112; constexpr uint16 SummonCorpse = 112;
constexpr uint16 AELull = 113;
constexpr uint16 START = BotSpellTypes::Nuke; // Do not remove or change this constexpr uint16 START = BotSpellTypes::Nuke; // Do not remove or change this
constexpr uint16 END = BotSpellTypes::PetResistBuffs; // Do not remove this, increment as needed constexpr uint16 END = BotSpellTypes::PetResistBuffs; // Do not remove this, increment as needed
constexpr uint16 COMMANDED_START = BotSpellTypes::Lull; // Do not remove or change this constexpr uint16 COMMANDED_START = BotSpellTypes::Lull; // Do not remove or change this
constexpr uint16 COMMANDED_END = BotSpellTypes::SummonCorpse; // Do not remove this, increment as needed constexpr uint16 COMMANDED_END = BotSpellTypes::AELull; // Do not remove this, increment as needed
} }
const uint32 SPELL_TYPES_DETRIMENTAL = (SpellType_Nuke | SpellType_Root | SpellType_Lifetap | SpellType_Snare | SpellType_DOT | SpellType_Dispel | SpellType_Mez | SpellType_Charm | SpellType_Debuff | SpellType_Slow); const uint32 SPELL_TYPES_DETRIMENTAL = (SpellType_Nuke | SpellType_Root | SpellType_Lifetap | SpellType_Snare | SpellType_DOT | SpellType_Dispel | SpellType_Mez | SpellType_Charm | SpellType_Debuff | SpellType_Slow);
+4 -1
View File
@@ -9878,6 +9878,7 @@ bool Bot::CanCastSpellType(uint16 spellType, uint16 spell_id, Mob* tar) {
} }
break; break;
case BotSpellTypes::AELull:
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
if (IsHarmonySpell(spell_id) && !HarmonySpellLevelCheck(spell_id, tar)) { if (IsHarmonySpell(spell_id) && !HarmonySpellLevelCheck(spell_id, tar)) {
LogBotPreChecksDetail("{} says, 'Cancelling cast of {} on {} due to HarmonySpellLevelCheck.'", GetCleanName(), GetSpellName(spell_id), tar->GetCleanName()); //deleteme LogBotPreChecksDetail("{} says, 'Cancelling cast of {} on {} due to HarmonySpellLevelCheck.'", GetCleanName(), GetSpellName(spell_id), tar->GetCleanName()); //deleteme
@@ -11234,6 +11235,9 @@ uint16 Bot::GetSpellListSpellType(uint16 spellType) {
case BotSpellTypes::AELifetap: case BotSpellTypes::AELifetap:
case BotSpellTypes::Lifetap: case BotSpellTypes::Lifetap:
return BotSpellTypes::Lifetap; return BotSpellTypes::Lifetap;
case BotSpellTypes::AELull:
case BotSpellTypes::Lull:
return BotSpellTypes::Lull;
case BotSpellTypes::Charm: case BotSpellTypes::Charm:
case BotSpellTypes::Escape: case BotSpellTypes::Escape:
case BotSpellTypes::HateRedux: case BotSpellTypes::HateRedux:
@@ -11246,7 +11250,6 @@ uint16 Bot::GetSpellListSpellType(uint16 spellType) {
case BotSpellTypes::PreCombatBuff: case BotSpellTypes::PreCombatBuff:
case BotSpellTypes::PreCombatBuffSong: case BotSpellTypes::PreCombatBuffSong:
case BotSpellTypes::Resurrect: case BotSpellTypes::Resurrect:
case BotSpellTypes::Lull:
default: default:
return spellType; return spellType;
} }
+8
View File
@@ -268,6 +268,14 @@ void bot_command_cast(Client* c, const Seperator* sep)
return; return;
} }
break;
case BotSpellTypes::AELull:
case BotSpellTypes::Lull:
if (!RuleB(Bots, AllowCommandedLull)) {
c->Message(Chat::Yellow, "This commanded type is currently disabled.");
return;
}
break; break;
case BotSpellTypes::SummonCorpse: case BotSpellTypes::SummonCorpse:
if (!RuleB(Bots, AllowCommandedSummonCorpse)) { if (!RuleB(Bots, AllowCommandedSummonCorpse)) {
+1
View File
@@ -83,6 +83,7 @@ bool Bot::AICastSpell(Mob* tar, uint8 iChance, uint16 spellType, uint16 subTarge
} }
break; break;
case BotSpellTypes::AELull:
case BotSpellTypes::Lull: case BotSpellTypes::Lull:
if (tar->GetSpecialAbility(SpecialAbility::PacifyImmunity)) { if (tar->GetSpecialAbility(SpecialAbility::PacifyImmunity)) {
return false; return false;
+6
View File
@@ -8943,6 +8943,9 @@ std::string Mob::GetSpellTypeNameByID(uint16 spellType) {
case BotSpellTypes::SummonCorpse: case BotSpellTypes::SummonCorpse:
spellTypeName = "Summon Corpse"; spellTypeName = "Summon Corpse";
break; break;
case BotSpellTypes::AELull:
spellTypeName = "AE Lull";
break;
default: default:
break; break;
} }
@@ -9164,6 +9167,9 @@ std::string Mob::GetSpellTypeShortNameByID(uint16 spellType) {
case BotSpellTypes::SummonCorpse: case BotSpellTypes::SummonCorpse:
spellTypeName = "summoncorpse"; spellTypeName = "summoncorpse";
break; break;
case BotSpellTypes::AELull:
spellTypeName = "aelull";
break;
default: default:
break; break;
} }