Rename SpellHold, SpellDelay, SpellMinThreshold, SpellMaxThreshold, SpellRecastDelay to fit SpellType style naming

This commit is contained in:
nytmyr
2025-01-31 17:05:50 -06:00
parent fef8c623ff
commit 980aa65ecc
9 changed files with 177 additions and 150 deletions
+84 -67
View File
@@ -2928,7 +2928,7 @@ bool Bot::TryFacingTarget(Mob* tar) {
bool Bot::TryEvade(Mob* tar) { bool Bot::TryEvade(Mob* tar) {
if (GetSpellHold(BotSpellTypes::Escape)) { if (GetSpellTypeHold(BotSpellTypes::Escape)) {
return false; return false;
} }
@@ -7856,7 +7856,11 @@ bool Bot::GetNeedsHateRedux(Mob *tar) {
} }
if (tar->IsBot()) { if (tar->IsBot()) {
if (tar->GetHPRatio() > GetUltimateSpellMinThreshold(BotSpellTypes::HateRedux, tar) && tar->GetHPRatio() < GetUltimateSpellMaxThreshold(BotSpellTypes::HateRedux, tar)) { if (tar->GetHPRatio() > GetUltimateSpellTypeMinThreshold(BotSpellTypes::HateRedux, tar) && tar->GetHPRatio() <
GetUltimateSpellTypeMaxThreshold(
BotSpellTypes::HateRedux,
tar
)) {
return true; return true;
} }
} }
@@ -9433,11 +9437,11 @@ bool Bot::PrecastChecks(Mob* tar, uint16 spell_type) {
LogBotSpellChecksDetail("{} says, 'Running [{}] PreChecks on [{}].'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName()); LogBotSpellChecksDetail("{} says, 'Running [{}] PreChecks on [{}].'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName());
if (GetUltimateSpellHold(spell_type, tar)) { if (GetUltimateSpellTypeHold(spell_type, tar)) {
if (!IsCommandedSpell()) { if (!IsCommandedSpell()) {
SetSpellTypeAITimer(spell_type, RuleI(Bots, AICastSpellTypeHeldDelay)); SetSpellTypeAITimer(spell_type, RuleI(Bots, AICastSpellTypeHeldDelay));
} }
LogBotSpellChecksDetail("{} says, 'Cancelling cast of [{}] on [{}] due to GetUltimateSpellHold.'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName()); LogBotSpellChecksDetail("{} says, 'Cancelling cast of [{}] on [{}] due to GetUltimateSpellTypeHold.'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName());
return false; return false;
} }
@@ -9464,8 +9468,8 @@ bool Bot::PrecastChecks(Mob* tar, uint16 spell_type) {
return false; return false;
} }
if (!GetUltimateSpellDelayCheck(spell_type, tar)) { if (!GetUltimateSpellTypeDelayCheck(spell_type, tar)) {
LogBotSpellChecksDetail("{} says, 'Cancelling cast of [{}] on [{}] due to GetUltimateSpellDelayCheck.'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName()); LogBotSpellChecksDetail("{} says, 'Cancelling cast of [{}] on [{}] due to GetUltimateSpellTypeDelayCheck.'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName());
return false; return false;
} }
@@ -9475,10 +9479,10 @@ bool Bot::PrecastChecks(Mob* tar, uint16 spell_type) {
return true; return true;
default: default:
if ( if (
GetHPRatioForSpellType(spell_type, tar) < GetUltimateSpellMinThreshold(spell_type, tar) || GetHPRatioForSpellType(spell_type, tar) < GetUltimateSpellTypeMinThreshold(spell_type, tar) ||
GetHPRatioForSpellType(spell_type, tar) > GetUltimateSpellMaxThreshold(spell_type, tar) GetHPRatioForSpellType(spell_type, tar) > GetUltimateSpellTypeMaxThreshold(spell_type, tar)
) { ) {
LogBotSpellChecksDetail("{} says, 'Cancelling cast of [{}] on [{}] due to GetUltimateSpellMinThreshold or GetUltimateSpellMaxThreshold.'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName()); LogBotSpellChecksDetail("{} says, 'Cancelling cast of [{}] on [{}] due to GetUltimateSpellTypeMinThreshold or GetUltimateSpellTypeMaxThreshold.'", GetCleanName(), GetSpellTypeNameByID(spell_type), tar->GetCleanName());
return false; return false;
} }
} }
@@ -10287,16 +10291,16 @@ void Bot::SetBotSetting(uint8 setting_type, uint16 bot_setting, int setting_valu
SetBotBaseSetting(bot_setting, setting_value); SetBotBaseSetting(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellHold: case BotSettingCategories::SpellHold:
SetSpellHold(bot_setting, setting_value); SetSpellTypeHold(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
SetSpellDelay(bot_setting, setting_value); SetSpellTypeDelay(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
SetSpellMinThreshold(bot_setting, setting_value); SetSpellTypeMinThreshold(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
SetSpellMaxThreshold(bot_setting, setting_value); SetSpellTypeMaxThreshold(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellTypeResistLimit: case BotSettingCategories::SpellTypeResistLimit:
SetSpellTypeResistLimit(bot_setting, setting_value); SetSpellTypeResistLimit(bot_setting, setting_value);
@@ -10493,10 +10497,10 @@ void Bot::LoadDefaultBotSettings() {
t.spell_type = i; t.spell_type = i;
t.short_name = GetSpellTypeShortNameByID(i); t.short_name = GetSpellTypeShortNameByID(i);
t.name = GetSpellTypeNameByID(i); t.name = GetSpellTypeNameByID(i);
t.hold = GetDefaultSpellHold(i, bot_stance); t.hold = GetDefaultSpellTypeHold(i, bot_stance);
t.delay = GetDefaultSpellDelay(i, bot_stance); t.delay = GetDefaultSpellTypeDelay(i, bot_stance);
t.min_threshold = GetDefaultSpellMinThreshold(i, bot_stance); t.min_threshold = GetDefaultSpellTypeMinThreshold(i, bot_stance);
t.max_threshold = GetDefaultSpellMaxThreshold(i, bot_stance); t.max_threshold = GetDefaultSpellTypeMaxThreshold(i, bot_stance);
t.resist_limit = GetDefaultSpellTypeResistLimit(i, bot_stance); t.resist_limit = GetDefaultSpellTypeResistLimit(i, bot_stance);
t.aggro_check = GetDefaultSpellTypeAggroCheck(i, bot_stance); t.aggro_check = GetDefaultSpellTypeAggroCheck(i, bot_stance);
t.min_mana_pct = GetDefaultSpellTypeMinManaLimit(i, bot_stance); t.min_mana_pct = GetDefaultSpellTypeMinManaLimit(i, bot_stance);
@@ -10529,7 +10533,11 @@ void Bot::LoadDefaultBotSettings() {
m_bot_spell_settings.push_back(t); m_bot_spell_settings.push_back(t);
LogBotSettingsDetail("{} says, 'Setting defaults for {} ({}) [#{}] - [{} [#{}] stance]'", GetCleanName(), t.name, t.short_name, t.spell_type, Stance::GetName(bot_stance), bot_stance); LogBotSettingsDetail("{} says, 'Setting defaults for {} ({}) [#{}] - [{} [#{}] stance]'", GetCleanName(), t.name, t.short_name, t.spell_type, Stance::GetName(bot_stance), bot_stance);
LogBotSettingsDetail("{} says, 'Hold = [{}] | Delay = [{}ms] | MinThreshold = [{}\%] | MaxThreshold = [{}\%]'", GetCleanName(), GetDefaultSpellHold(i, bot_stance), GetDefaultSpellDelay(i, bot_stance), GetDefaultSpellMinThreshold(i, bot_stance), GetDefaultSpellMaxThreshold(i, bot_stance)); LogBotSettingsDetail("{} says, 'Hold = [{}] | Delay = [{}ms] | MinThreshold = [{}\%] | MaxThreshold = [{}\%]'", GetCleanName(),
GetDefaultSpellTypeHold(i, bot_stance),
GetDefaultSpellTypeDelay(i, bot_stance),
GetDefaultSpellTypeMinThreshold(i, bot_stance),
GetDefaultSpellTypeMaxThreshold(i, bot_stance));
LogBotSettingsDetail("{} says, 'AggroCheck = [{}] | MinManaPCT = [{}\%] | MaxManaPCT = [{}\%] | MinHPPCT = [{}\% | MaxHPPCT = [{}\%]'", GetCleanName(), GetDefaultSpellTypeAggroCheck(i, bot_stance), GetDefaultSpellTypeMinManaLimit(i, bot_stance), GetDefaultSpellTypeMaxManaLimit(i, bot_stance), GetDefaultSpellTypeMinHPLimit(i, bot_stance), GetDefaultSpellTypeMaxHPLimit(i, bot_stance)); LogBotSettingsDetail("{} says, 'AggroCheck = [{}] | MinManaPCT = [{}\%] | MaxManaPCT = [{}\%] | MinHPPCT = [{}\% | MaxHPPCT = [{}\%]'", GetCleanName(), GetDefaultSpellTypeAggroCheck(i, bot_stance), GetDefaultSpellTypeMinManaLimit(i, bot_stance), GetDefaultSpellTypeMaxManaLimit(i, bot_stance), GetDefaultSpellTypeMinHPLimit(i, bot_stance), GetDefaultSpellTypeMaxHPLimit(i, bot_stance));
LogBotSettingsDetail("{} says, 'IdlePriority = [{}] | EngagedPriority = [{}] | PursuePriority = [{}]'", GetCleanName(), GetDefaultSpellTypeIdlePriority(i, GetClass(), bot_stance), GetDefaultSpellTypeEngagedPriority(i, GetClass(), bot_stance), GetDefaultSpellTypePursuePriority(i, GetClass(), bot_stance)); LogBotSettingsDetail("{} says, 'IdlePriority = [{}] | EngagedPriority = [{}] | PursuePriority = [{}]'", GetCleanName(), GetDefaultSpellTypeIdlePriority(i, GetClass(), bot_stance), GetDefaultSpellTypeEngagedPriority(i, GetClass(), bot_stance), GetDefaultSpellTypePursuePriority(i, GetClass(), bot_stance));
LogBotSettingsDetail("{} says, 'TargetCount = [{}] | AnnounceCast = [{}]'", GetCleanName(), GetDefaultSpellTypeAEOrGroupTargetCount(i, bot_stance), GetDefaultSpellTypeAnnounceCast(i, bot_stance)); LogBotSettingsDetail("{} says, 'TargetCount = [{}] | AnnounceCast = [{}]'", GetCleanName(), GetDefaultSpellTypeAEOrGroupTargetCount(i, bot_stance), GetDefaultSpellTypeAnnounceCast(i, bot_stance));
@@ -10560,22 +10568,22 @@ void Bot::SetBotSpellRecastTimer(uint16 spell_type, Mob* tar, bool precast) {
Mob* owner = tar->GetOwner(); Mob* owner = tar->GetOwner();
if (owner->IsClient()) { if (owner->IsClient()) {
owner->CastToClient()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellDelay(spell_type, tar) + added_delay)); owner->CastToClient()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellTypeDelay(spell_type, tar) + added_delay));
} }
else { else {
owner->CastToBot()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellDelay(spell_type, tar) + added_delay)); owner->CastToBot()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellTypeDelay(spell_type, tar) + added_delay));
} }
} }
else if (IsBotSpellTypeOtherBeneficial(spell_type)) { else if (IsBotSpellTypeOtherBeneficial(spell_type)) {
if (tar->IsClient()) { if (tar->IsClient()) {
tar->CastToClient()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellDelay(spell_type, tar) + added_delay)); tar->CastToClient()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellTypeDelay(spell_type, tar) + added_delay));
} }
else { else {
tar->CastToBot()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellDelay(spell_type, tar) + added_delay)); tar->CastToBot()->SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellTypeDelay(spell_type, tar) + added_delay));
} }
} }
else { else {
SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellDelay(spell_type, tar) + added_delay)); SetSpellTypeRecastTimer(spell_type, (GetUltimateSpellTypeDelay(spell_type, tar) + added_delay));
} }
} }
@@ -10623,13 +10631,13 @@ int Bot::GetDefaultSetting(uint16 setting_category, uint16 setting_type, uint8 s
case BotSettingCategories::BaseSetting: case BotSettingCategories::BaseSetting:
return GetDefaultBotBaseSetting(setting_type, stance); return GetDefaultBotBaseSetting(setting_type, stance);
case BotSettingCategories::SpellHold: case BotSettingCategories::SpellHold:
return GetDefaultSpellHold(setting_type, stance); return GetDefaultSpellTypeHold(setting_type, stance);
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
return GetDefaultSpellDelay(setting_type, stance); return GetDefaultSpellTypeDelay(setting_type, stance);
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
return GetDefaultSpellMinThreshold(setting_type, stance); return GetDefaultSpellTypeMinThreshold(setting_type, stance);
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
return GetDefaultSpellMaxThreshold(setting_type, stance); return GetDefaultSpellTypeMaxThreshold(setting_type, stance);
case BotSettingCategories::SpellTypeResistLimit: case BotSettingCategories::SpellTypeResistLimit:
return GetDefaultSpellTypeResistLimit(setting_type, stance); return GetDefaultSpellTypeResistLimit(setting_type, stance);
case BotSettingCategories::SpellTypeAggroCheck: case BotSettingCategories::SpellTypeAggroCheck:
@@ -10662,13 +10670,13 @@ int Bot::GetSetting(uint16 setting_category, uint16 setting_type) {
case BotSettingCategories::BaseSetting: case BotSettingCategories::BaseSetting:
return GetBotBaseSetting(setting_type); return GetBotBaseSetting(setting_type);
case BotSettingCategories::SpellHold: case BotSettingCategories::SpellHold:
return GetSpellHold(setting_type); return GetSpellTypeHold(setting_type);
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
return GetSpellDelay(setting_type); return GetSpellTypeDelay(setting_type);
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
return GetSpellMinThreshold(setting_type); return GetSpellTypeMinThreshold(setting_type);
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
return GetSpellMaxThreshold(setting_type); return GetSpellTypeMaxThreshold(setting_type);
case BotSettingCategories::SpellTypeResistLimit: case BotSettingCategories::SpellTypeResistLimit:
return GetSpellTypeResistLimit(setting_type); return GetSpellTypeResistLimit(setting_type);
case BotSettingCategories::SpellTypeAggroCheck: case BotSettingCategories::SpellTypeAggroCheck:
@@ -10696,7 +10704,7 @@ int Bot::GetSetting(uint16 setting_category, uint16 setting_type) {
} }
} }
bool Bot::GetDefaultSpellHold(uint16 spell_type, uint8 stance) { bool Bot::GetDefaultSpellTypeHold(uint16 spell_type, uint8 stance) {
uint8 bot_class = GetClass(); uint8 bot_class = GetClass();
switch (spell_type) { switch (spell_type) {
@@ -11162,16 +11170,16 @@ uint16 Bot::GetDefaultSpellTypeAnnounceCast(uint16 spell_type, uint8 stance) {
return 1; return 1;
} }
bool Bot::GetUltimateSpellHold(uint16 spell_type, Mob* tar) { bool Bot::GetUltimateSpellTypeHold(uint16 spell_type, Mob* tar) {
if (!tar) { if (!tar) {
return GetSpellHold(spell_type); return GetSpellTypeHold(spell_type);
} }
if (tar->IsPet() && tar->GetOwner() && tar->IsPetOwnerBot()) { if (tar->IsPet() && tar->GetOwner() && tar->IsPetOwnerBot()) {
return tar->GetOwner()->CastToBot()->GetSpellHold(GetPetBotSpellType(spell_type)); return tar->GetOwner()->CastToBot()->GetSpellTypeHold(GetPetBotSpellType(spell_type));
} }
return GetSpellHold(spell_type); return GetSpellTypeHold(spell_type);
} }
void Bot::SetSpellTypePriority(uint16 spell_type, uint8 priority_type, uint16 priority) { void Bot::SetSpellTypePriority(uint16 spell_type, uint8 priority_type, uint16 priority) {
@@ -11974,7 +11982,7 @@ bool Bot::RequiresLoSForPositioning() {
} }
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
if (IsBotSpellTypeDetrimental(i) && !GetSpellHold(i)) { if (IsBotSpellTypeDetrimental(i) && !GetSpellTypeHold(i)) {
return true; return true;
} }
} }
@@ -12100,44 +12108,44 @@ void Bot::CopySettings(Bot* to, uint8 setting_type, uint16 spell_type) {
break; break;
case BotSettingCategories::SpellHold: case BotSettingCategories::SpellHold:
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
to->SetSpellHold(spell_type, GetSpellHold(spell_type)); to->SetSpellTypeHold(spell_type, GetSpellTypeHold(spell_type));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
to->SetSpellHold(i, GetSpellHold(i)); to->SetSpellTypeHold(i, GetSpellTypeHold(i));
} }
} }
break; break;
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
to->SetSpellDelay(spell_type, GetSpellDelay(spell_type)); to->SetSpellTypeDelay(spell_type, GetSpellTypeDelay(spell_type));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
to->SetSpellDelay(i, GetSpellDelay(i)); to->SetSpellTypeDelay(i, GetSpellTypeDelay(i));
} }
} }
break; break;
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
to->SetSpellMinThreshold(spell_type, GetSpellMinThreshold(spell_type)); to->SetSpellTypeMinThreshold(spell_type, GetSpellTypeMinThreshold(spell_type));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
to->SetSpellMinThreshold(i, GetSpellMinThreshold(i)); to->SetSpellTypeMinThreshold(i, GetSpellTypeMinThreshold(i));
} }
} }
break; break;
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
to->SetSpellMaxThreshold(spell_type, GetSpellMaxThreshold(spell_type)); to->SetSpellTypeMaxThreshold(spell_type, GetSpellTypeMaxThreshold(spell_type));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
to->SetSpellMaxThreshold(i, GetSpellMaxThreshold(i)); to->SetSpellTypeMaxThreshold(i, GetSpellTypeMaxThreshold(i));
} }
} }
@@ -12836,7 +12844,7 @@ std::string Bot::GetSubTypeNameByID(uint16 sub_type) {
return IsValidBotSpellType(sub_type) ? botSubType_names[sub_type] : "UNKNOWN SUBTYPE"; return IsValidBotSpellType(sub_type) ? botSubType_names[sub_type] : "UNKNOWN SUBTYPE";
} }
uint16 Bot::GetDefaultSpellDelay(uint16 spell_type, uint8 stance) { uint16 Bot::GetDefaultSpellTypeDelay(uint16 spell_type, uint8 stance) {
switch (spell_type) { switch (spell_type) {
case BotSpellTypes::VeryFastHeals: case BotSpellTypes::VeryFastHeals:
case BotSpellTypes::PetVeryFastHeals: case BotSpellTypes::PetVeryFastHeals:
@@ -12909,7 +12917,7 @@ uint16 Bot::GetDefaultSpellDelay(uint16 spell_type, uint8 stance) {
} }
} }
uint8 Bot::GetDefaultSpellMinThreshold(uint16 spell_type, uint8 stance) { uint8 Bot::GetDefaultSpellTypeMinThreshold(uint16 spell_type, uint8 stance) {
switch (spell_type) { switch (spell_type) {
case BotSpellTypes::AEDebuff: case BotSpellTypes::AEDebuff:
case BotSpellTypes::Debuff: case BotSpellTypes::Debuff:
@@ -12957,7 +12965,7 @@ uint8 Bot::GetDefaultSpellMinThreshold(uint16 spell_type, uint8 stance) {
} }
} }
uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) { uint8 Bot::GetDefaultSpellTypeMaxThreshold(uint16 spell_type, uint8 stance) {
uint8 bot_class = GetClass(); uint8 bot_class = GetClass();
switch (spell_type) { switch (spell_type) {
@@ -12989,7 +12997,7 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) {
} }
case BotSpellTypes::GroupHeals: case BotSpellTypes::GroupHeals:
case BotSpellTypes::RegularHeal: case BotSpellTypes::RegularHeal:
if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellHold(BotSpellTypes::InCombatBuff))) { if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellTypeHold(BotSpellTypes::InCombatBuff))) {
return 60; return 60;
} }
@@ -13016,7 +13024,7 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) {
} }
case BotSpellTypes::CompleteHeal: case BotSpellTypes::CompleteHeal:
case BotSpellTypes::GroupCompleteHeals: case BotSpellTypes::GroupCompleteHeals:
if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellHold(BotSpellTypes::InCombatBuff))) { if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellTypeHold(BotSpellTypes::InCombatBuff))) {
return 55; return 55;
} }
@@ -13075,7 +13083,7 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) {
case BotSpellTypes::GroupHoTHeals: case BotSpellTypes::GroupHoTHeals:
case BotSpellTypes::HoTHeals: case BotSpellTypes::HoTHeals:
case BotSpellTypes::PetHoTHeals: case BotSpellTypes::PetHoTHeals:
if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellHold(BotSpellTypes::InCombatBuff))) { if (bot_class == Class::Necromancer || (bot_class == Class::Shaman && !GetSpellTypeHold(BotSpellTypes::InCombatBuff))) {
return 70; return 70;
} }
else { else {
@@ -13117,25 +13125,28 @@ uint8 Bot::GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance) {
} }
} }
uint16 Bot::GetUltimateSpellDelay(uint16 spell_type, Mob* tar) { uint16 Bot::GetUltimateSpellTypeDelay(uint16 spell_type, Mob* tar) {
if (!tar) { if (!tar) {
return GetSpellDelay(spell_type); return GetSpellTypeDelay(spell_type);
} }
if (tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot()) { if (tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot()) {
Mob* owner = tar->GetOwner(); Mob* owner = tar->GetOwner();
return owner->IsClient() ? owner->CastToClient()->GetSpellDelay(GetPetBotSpellType(spell_type)) : owner->CastToBot()->GetSpellDelay(GetPetBotSpellType(spell_type)); return owner->IsClient() ? owner->CastToClient()->GetSpellTypeDelay(GetPetBotSpellType(spell_type)) : owner->CastToBot()->GetSpellTypeDelay(
GetPetBotSpellType(spell_type));
} }
if (IsBotSpellTypeOtherBeneficial(spell_type) && tar->IsOfClientBot()) { if (IsBotSpellTypeOtherBeneficial(spell_type) && tar->IsOfClientBot()) {
return tar->IsClient() ? tar->CastToClient()->GetSpellDelay(spell_type) : tar->CastToBot()->GetSpellDelay(spell_type); return tar->IsClient() ? tar->CastToClient()->GetSpellTypeDelay(spell_type) : tar->CastToBot()->GetSpellTypeDelay(
spell_type
);
} }
return GetSpellDelay(spell_type); return GetSpellTypeDelay(spell_type);
} }
bool Bot::GetUltimateSpellDelayCheck(uint16 spell_type, Mob* tar) { bool Bot::GetUltimateSpellTypeDelayCheck(uint16 spell_type, Mob* tar) {
if (!tar) { if (!tar) {
return SpellTypeRecastCheck(spell_type); return SpellTypeRecastCheck(spell_type);
} }
@@ -13153,40 +13164,46 @@ bool Bot::GetUltimateSpellDelayCheck(uint16 spell_type, Mob* tar) {
return SpellTypeRecastCheck(spell_type); return SpellTypeRecastCheck(spell_type);
} }
uint8 Bot::GetUltimateSpellMinThreshold(uint16 spell_type, Mob* tar) { uint8 Bot::GetUltimateSpellTypeMinThreshold(uint16 spell_type, Mob* tar) {
if (!tar) { if (!tar) {
return GetSpellMinThreshold(spell_type); return GetSpellTypeMinThreshold(spell_type);
} }
if (tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot()) { if (tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot()) {
Mob* owner = tar->GetOwner(); Mob* owner = tar->GetOwner();
return owner->IsClient() ? owner->CastToClient()->GetSpellMinThreshold(GetPetBotSpellType(spell_type)) : owner->CastToBot()->GetSpellMinThreshold(GetPetBotSpellType(spell_type)); return owner->IsClient() ? owner->CastToClient()->GetSpellTypeMinThreshold(GetPetBotSpellType(spell_type)) : owner->CastToBot()->GetSpellTypeMinThreshold(
GetPetBotSpellType(spell_type));
} }
if (IsBotSpellTypeOtherBeneficial(spell_type) && tar->IsOfClientBot()) { if (IsBotSpellTypeOtherBeneficial(spell_type) && tar->IsOfClientBot()) {
return tar->IsClient() ? tar->CastToClient()->GetSpellMinThreshold(spell_type) : tar->CastToBot()->GetSpellMinThreshold(spell_type); return tar->IsClient() ? tar->CastToClient()->GetSpellTypeMinThreshold(spell_type) : tar->CastToBot()->GetSpellTypeMinThreshold(
spell_type
);
} }
return GetSpellMinThreshold(spell_type); return GetSpellTypeMinThreshold(spell_type);
} }
uint8 Bot::GetUltimateSpellMaxThreshold(uint16 spell_type, Mob* tar) { uint8 Bot::GetUltimateSpellTypeMaxThreshold(uint16 spell_type, Mob* tar) {
if (!tar) { if (!tar) {
return GetSpellMaxThreshold(spell_type); return GetSpellTypeMaxThreshold(spell_type);
} }
if (tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot()) { if (tar->IsPet() && tar->GetOwner() && tar->GetOwner()->IsOfClientBot()) {
Mob* owner = tar->GetOwner(); Mob* owner = tar->GetOwner();
return owner->IsClient() ? owner->CastToClient()->GetSpellMaxThreshold(GetPetBotSpellType(spell_type)) : owner->CastToBot()->GetSpellMaxThreshold(GetPetBotSpellType(spell_type)); return owner->IsClient() ? owner->CastToClient()->GetSpellTypeMaxThreshold(GetPetBotSpellType(spell_type)) : owner->CastToBot()->GetSpellTypeMaxThreshold(
GetPetBotSpellType(spell_type));
} }
if (IsBotSpellTypeOtherBeneficial(spell_type) && tar->IsOfClientBot()) { if (IsBotSpellTypeOtherBeneficial(spell_type) && tar->IsOfClientBot()) {
return tar->IsClient() ? tar->CastToClient()->GetSpellMaxThreshold(spell_type) : tar->CastToBot()->GetSpellMaxThreshold(spell_type); return tar->IsClient() ? tar->CastToClient()->GetSpellTypeMaxThreshold(spell_type) : tar->CastToBot()->GetSpellTypeMaxThreshold(
spell_type
);
} }
return GetSpellMaxThreshold(spell_type); return GetSpellTypeMaxThreshold(spell_type);
} }
bool Bot::IsImmuneToBotSpell(uint16 spell_id, Mob* caster) { bool Bot::IsImmuneToBotSpell(uint16 spell_id, Mob* caster) {
+17 -17
View File
@@ -570,7 +570,7 @@ public:
void LoadDefaultBotSettings(); void LoadDefaultBotSettings();
int GetDefaultSetting(uint16 setting_category, uint16 setting_type, uint8 stance = Stance::Balanced); int GetDefaultSetting(uint16 setting_category, uint16 setting_type, uint8 stance = Stance::Balanced);
int GetDefaultBotBaseSetting(uint16 bot_setting, uint8 stance = Stance::Balanced); int GetDefaultBotBaseSetting(uint16 bot_setting, uint8 stance = Stance::Balanced);
bool GetDefaultSpellHold(uint16 spell_type, uint8 stance = Stance::Balanced); bool GetDefaultSpellTypeHold(uint16 spell_type, uint8 stance = Stance::Balanced);
uint16 GetDefaultSpellTypePriority(uint16 spell_type, uint8 priority_type, uint8 bot_class, uint8 stance = Stance::Balanced); uint16 GetDefaultSpellTypePriority(uint16 spell_type, uint8 priority_type, uint8 bot_class, uint8 stance = Stance::Balanced);
uint16 GetDefaultSpellTypeIdlePriority(uint16 spell_type, uint8 bot_class, uint8 stance = Stance::Balanced); uint16 GetDefaultSpellTypeIdlePriority(uint16 spell_type, uint8 bot_class, uint8 stance = Stance::Balanced);
uint16 GetDefaultSpellTypeEngagedPriority(uint16 spell_type, uint8 bot_class, uint8 stance = Stance::Balanced); uint16 GetDefaultSpellTypeEngagedPriority(uint16 spell_type, uint8 bot_class, uint8 stance = Stance::Balanced);
@@ -607,9 +607,6 @@ public:
void SetBotBlockedBuffs(std::vector<BotBlockedBuffs> blocked_buffs) { bot_blocked_buffs = blocked_buffs; } void SetBotBlockedBuffs(std::vector<BotBlockedBuffs> blocked_buffs) { bot_blocked_buffs = blocked_buffs; }
void SetBotSpellRecastTimer(uint16 spell_type, Mob* spelltar, bool pre_cast = false); void SetBotSpellRecastTimer(uint16 spell_type, Mob* spelltar, bool pre_cast = false);
inline bool GetSpellHold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].hold; }
inline void SetSpellHold(uint16 spell_type, bool value) { m_bot_spell_settings[spell_type].hold = value; }
bool GetUltimateSpellHold(uint16 spell_type, Mob* tar);
uint16 GetSpellTypePriority(uint16 spell_type, uint8 priority_type); uint16 GetSpellTypePriority(uint16 spell_type, uint8 priority_type);
void SetSpellTypePriority(uint16 spell_type, uint8 priority_type, uint16 priority); void SetSpellTypePriority(uint16 spell_type, uint8 priority_type, uint16 priority);
inline uint16 GetSpellTypeResistLimit(uint16 spell_type) const { return m_bot_spell_settings[spell_type].resist_limit; } inline uint16 GetSpellTypeResistLimit(uint16 spell_type) const { return m_bot_spell_settings[spell_type].resist_limit; }
@@ -629,23 +626,26 @@ public:
inline void SetSpellTypeAEOrGroupTargetCount(uint16 spell_type, uint16 value) { m_bot_spell_settings[spell_type].ae_or_group_target_count = value; } inline void SetSpellTypeAEOrGroupTargetCount(uint16 spell_type, uint16 value) { m_bot_spell_settings[spell_type].ae_or_group_target_count = value; }
inline uint16 GetSpellTypeAnnounceCast(uint16 spell_type) const { return m_bot_spell_settings[spell_type].announce_cast; } inline uint16 GetSpellTypeAnnounceCast(uint16 spell_type) const { return m_bot_spell_settings[spell_type].announce_cast; }
inline void SetSpellTypeAnnounceCast(uint16 spell_type, uint16 value) { m_bot_spell_settings[spell_type].announce_cast = value; } inline void SetSpellTypeAnnounceCast(uint16 spell_type, uint16 value) { m_bot_spell_settings[spell_type].announce_cast = value; }
inline uint16 GetSpellDelay(uint16 spell_type) const { return m_bot_spell_settings[spell_type].delay; } inline bool GetSpellTypeHold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].hold; }
inline void SetSpellDelay(uint16 spell_type, uint16 delay_value) { m_bot_spell_settings[spell_type].delay = delay_value; } inline void SetSpellTypeHold(uint16 spell_type, bool value) { m_bot_spell_settings[spell_type].hold = value; }
inline uint8 GetSpellMinThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].min_threshold; } inline uint16 GetSpellTypeDelay(uint16 spell_type) const { return m_bot_spell_settings[spell_type].delay; }
inline void SetSpellMinThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].min_threshold = threshold_value; } inline void SetSpellTypeDelay(uint16 spell_type, uint16 delay_value) { m_bot_spell_settings[spell_type].delay = delay_value; }
inline uint8 GetSpellMaxThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].max_threshold; } inline uint8 GetSpellTypeMinThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].min_threshold; }
inline void SetSpellMaxThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].max_threshold = threshold_value; } inline void SetSpellTypeMinThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].min_threshold = threshold_value; }
inline uint8 GetSpellTypeMaxThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].max_threshold; }
inline void SetSpellTypeMaxThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].max_threshold = threshold_value; }
inline bool SpellTypeRecastCheck(uint16 spellType) { return !m_bot_spell_settings[spellType].recast_timer.GetRemainingTime(); } inline bool SpellTypeRecastCheck(uint16 spellType) { return !m_bot_spell_settings[spellType].recast_timer.GetRemainingTime(); }
void SetSpellTypeRecastTimer(uint16 spell_type, uint32 recast_time) { m_bot_spell_settings[spell_type].recast_timer.Start(recast_time); } void SetSpellTypeRecastTimer(uint16 spell_type, uint32 recast_time) { m_bot_spell_settings[spell_type].recast_timer.Start(recast_time); }
inline bool SpellTypeAIDelayCheck(uint16 spellType) { return !m_bot_spell_settings[spellType].ai_delay.GetRemainingTime(); } inline bool SpellTypeAIDelayCheck(uint16 spellType) { return !m_bot_spell_settings[spellType].ai_delay.GetRemainingTime(); }
void SetSpellTypeAITimer(uint16 spell_type, uint32 recast_time) { m_bot_spell_settings[spell_type].ai_delay.Start(recast_time); } void SetSpellTypeAITimer(uint16 spell_type, uint32 recast_time) { m_bot_spell_settings[spell_type].ai_delay.Start(recast_time); }
uint16 GetDefaultSpellDelay(uint16 spell_type, uint8 stance = Stance::Balanced); bool GetUltimateSpellTypeHold(uint16 spell_type, Mob* tar);
uint8 GetDefaultSpellMinThreshold(uint16 spell_type, uint8 stance = Stance::Balanced); uint16 GetDefaultSpellTypeDelay(uint16 spell_type, uint8 stance = Stance::Balanced);
uint8 GetDefaultSpellMaxThreshold(uint16 spell_type, uint8 stance = Stance::Balanced); uint8 GetDefaultSpellTypeMinThreshold(uint16 spell_type, uint8 stance = Stance::Balanced);
uint16 GetUltimateSpellDelay(uint16 spell_type, Mob* tar); uint8 GetDefaultSpellTypeMaxThreshold(uint16 spell_type, uint8 stance = Stance::Balanced);
bool GetUltimateSpellDelayCheck(uint16 spell_type, Mob* tar); uint16 GetUltimateSpellTypeDelay(uint16 spell_type, Mob* tar);
uint8 GetUltimateSpellMinThreshold(uint16 spell_type, Mob* tar); bool GetUltimateSpellTypeDelayCheck(uint16 spell_type, Mob* tar);
uint8 GetUltimateSpellMaxThreshold(uint16 spell_type, Mob* tar); uint8 GetUltimateSpellTypeMinThreshold(uint16 spell_type, Mob* tar);
uint8 GetUltimateSpellTypeMaxThreshold(uint16 spell_type, Mob* tar);
void SetIllusionBlock(bool value) { _illusionBlock = value; } void SetIllusionBlock(bool value) { _illusionBlock = value; }
bool GetIllusionBlock() const { return _illusionBlock; } bool GetIllusionBlock() const { return _illusionBlock; }
bool GetShowHelm() const { return _showHelm; } bool GetShowHelm() const { return _showHelm; }
+28 -20
View File
@@ -219,10 +219,14 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
else if (!strcasecmp(sep->arg[1], "spelltypesettings")) { else if (!strcasecmp(sep->arg[1], "spelltypesettings")) {
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
my_bot->SetSpellHold(spell_type, my_bot->GetDefaultSpellHold(spell_type, bot_stance)); my_bot->SetSpellTypeHold(spell_type, my_bot->GetDefaultSpellTypeHold(spell_type, bot_stance));
my_bot->SetSpellDelay(spell_type, my_bot->GetDefaultSpellDelay(spell_type, bot_stance)); my_bot->SetSpellTypeDelay(spell_type, my_bot->GetDefaultSpellTypeDelay(spell_type, bot_stance));
my_bot->SetSpellMinThreshold(spell_type, my_bot->GetDefaultSpellMinThreshold(spell_type, bot_stance)); my_bot->SetSpellTypeMinThreshold(
my_bot->SetSpellMaxThreshold(spell_type, my_bot->GetDefaultSpellMaxThreshold(spell_type, bot_stance)); spell_type,
my_bot->GetDefaultSpellTypeMinThreshold(spell_type, bot_stance));
my_bot->SetSpellTypeMaxThreshold(
spell_type,
my_bot->GetDefaultSpellTypeMaxThreshold(spell_type, bot_stance));
my_bot->SetSpellTypeAggroCheck(spell_type, my_bot->GetDefaultSpellTypeAggroCheck(spell_type, bot_stance)); my_bot->SetSpellTypeAggroCheck(spell_type, my_bot->GetDefaultSpellTypeAggroCheck(spell_type, bot_stance));
my_bot->SetSpellTypeResistLimit(spell_type, my_bot->GetDefaultSpellTypeResistLimit(spell_type, bot_stance)); my_bot->SetSpellTypeResistLimit(spell_type, my_bot->GetDefaultSpellTypeResistLimit(spell_type, bot_stance));
my_bot->SetSpellTypeMinManaLimit(spell_type, my_bot->GetDefaultSpellTypeMinManaLimit(spell_type, bot_stance)); my_bot->SetSpellTypeMinManaLimit(spell_type, my_bot->GetDefaultSpellTypeMinManaLimit(spell_type, bot_stance));
@@ -237,10 +241,10 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
my_bot->SetSpellHold(i, my_bot->GetDefaultSpellHold(i, bot_stance)); my_bot->SetSpellTypeHold(i, my_bot->GetDefaultSpellTypeHold(i, bot_stance));
my_bot->SetSpellDelay(i, my_bot->GetDefaultSpellDelay(i, bot_stance)); my_bot->SetSpellTypeDelay(i, my_bot->GetDefaultSpellTypeDelay(i, bot_stance));
my_bot->SetSpellMinThreshold(i, my_bot->GetDefaultSpellMinThreshold(i, bot_stance)); my_bot->SetSpellTypeMinThreshold(i, my_bot->GetDefaultSpellTypeMinThreshold(i, bot_stance));
my_bot->SetSpellMaxThreshold(i, my_bot->GetDefaultSpellMaxThreshold(i, bot_stance)); my_bot->SetSpellTypeMaxThreshold(i, my_bot->GetDefaultSpellTypeMaxThreshold(i, bot_stance));
my_bot->SetSpellTypeAggroCheck(i, my_bot->GetDefaultSpellTypeAggroCheck(i, bot_stance)); my_bot->SetSpellTypeAggroCheck(i, my_bot->GetDefaultSpellTypeAggroCheck(i, bot_stance));
my_bot->SetSpellTypeResistLimit(i, my_bot->GetDefaultSpellTypeResistLimit(i, bot_stance)); my_bot->SetSpellTypeResistLimit(i, my_bot->GetDefaultSpellTypeResistLimit(i, bot_stance));
my_bot->SetSpellTypeMinManaLimit(i, my_bot->GetDefaultSpellTypeMinManaLimit(i, bot_stance)); my_bot->SetSpellTypeMinManaLimit(i, my_bot->GetDefaultSpellTypeMinManaLimit(i, bot_stance));
@@ -263,10 +267,10 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
my_bot->SetSpellHold(i, my_bot->GetDefaultSpellHold(i, bot_stance)); my_bot->SetSpellTypeHold(i, my_bot->GetDefaultSpellTypeHold(i, bot_stance));
my_bot->SetSpellDelay(i, my_bot->GetDefaultSpellDelay(i, bot_stance)); my_bot->SetSpellTypeDelay(i, my_bot->GetDefaultSpellTypeDelay(i, bot_stance));
my_bot->SetSpellMinThreshold(i, my_bot->GetDefaultSpellMinThreshold(i, bot_stance)); my_bot->SetSpellTypeMinThreshold(i, my_bot->GetDefaultSpellTypeMinThreshold(i, bot_stance));
my_bot->SetSpellMaxThreshold(i, my_bot->GetDefaultSpellMaxThreshold(i, bot_stance)); my_bot->SetSpellTypeMaxThreshold(i, my_bot->GetDefaultSpellTypeMaxThreshold(i, bot_stance));
my_bot->SetSpellTypeAggroCheck(i, my_bot->GetDefaultSpellTypeAggroCheck(i, bot_stance)); my_bot->SetSpellTypeAggroCheck(i, my_bot->GetDefaultSpellTypeAggroCheck(i, bot_stance));
my_bot->SetSpellTypeResistLimit(i, my_bot->GetDefaultSpellTypeResistLimit(i, bot_stance)); my_bot->SetSpellTypeResistLimit(i, my_bot->GetDefaultSpellTypeResistLimit(i, bot_stance));
my_bot->SetSpellTypeMinManaLimit(i, my_bot->GetDefaultSpellTypeMinManaLimit(i, bot_stance)); my_bot->SetSpellTypeMinManaLimit(i, my_bot->GetDefaultSpellTypeMinManaLimit(i, bot_stance));
@@ -288,11 +292,11 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
else if (!strcasecmp(sep->arg[1], "holds")) { else if (!strcasecmp(sep->arg[1], "holds")) {
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
my_bot->SetSpellHold(spell_type, my_bot->GetDefaultSpellHold(spell_type, bot_stance)); my_bot->SetSpellTypeHold(spell_type, my_bot->GetDefaultSpellTypeHold(spell_type, bot_stance));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
my_bot->SetSpellHold(i, my_bot->GetDefaultSpellHold(i, bot_stance)); my_bot->SetSpellTypeHold(i, my_bot->GetDefaultSpellTypeHold(i, bot_stance));
} }
} }
@@ -300,11 +304,11 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
else if (!strcasecmp(sep->arg[1], "delays")) { else if (!strcasecmp(sep->arg[1], "delays")) {
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
my_bot->SetSpellDelay(spell_type, my_bot->GetDefaultSpellDelay(spell_type, bot_stance)); my_bot->SetSpellTypeDelay(spell_type, my_bot->GetDefaultSpellTypeDelay(spell_type, bot_stance));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
my_bot->SetSpellDelay(i, my_bot->GetDefaultSpellDelay(i, bot_stance)); my_bot->SetSpellTypeDelay(i, my_bot->GetDefaultSpellTypeDelay(i, bot_stance));
} }
} }
@@ -312,11 +316,13 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
else if (!strcasecmp(sep->arg[1], "minthresholds")) { else if (!strcasecmp(sep->arg[1], "minthresholds")) {
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
my_bot->SetSpellMinThreshold(spell_type, my_bot->GetDefaultSpellMinThreshold(spell_type, bot_stance)); my_bot->SetSpellTypeMinThreshold(
spell_type,
my_bot->GetDefaultSpellTypeMinThreshold(spell_type, bot_stance));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
my_bot->SetSpellMinThreshold(i, my_bot->GetDefaultSpellMinThreshold(i, bot_stance)); my_bot->SetSpellTypeMinThreshold(i, my_bot->GetDefaultSpellTypeMinThreshold(i, bot_stance));
} }
} }
@@ -324,11 +330,13 @@ void bot_command_default_settings(Client* c, const Seperator* sep)
} }
else if (!strcasecmp(sep->arg[1], "maxthresholds")) { else if (!strcasecmp(sep->arg[1], "maxthresholds")) {
if (spell_type != UINT16_MAX) { if (spell_type != UINT16_MAX) {
my_bot->SetSpellMaxThreshold(spell_type, my_bot->GetDefaultSpellMaxThreshold(spell_type, bot_stance)); my_bot->SetSpellTypeMaxThreshold(
spell_type,
my_bot->GetDefaultSpellTypeMaxThreshold(spell_type, bot_stance));
} }
else { else {
for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) { for (uint16 i = BotSpellTypes::START; i <= BotSpellTypes::END; ++i) {
my_bot->SetSpellMaxThreshold(i, my_bot->GetDefaultSpellMaxThreshold(i, bot_stance)); my_bot->SetSpellTypeMaxThreshold(i, my_bot->GetDefaultSpellTypeMaxThreshold(i, bot_stance));
} }
} }
+6 -6
View File
@@ -220,12 +220,12 @@ void bot_command_spell_delays(Client* c, const Seperator* sep) {
"{} says, 'My [{}] spell delay is currently [{}] seconds.'", "{} says, 'My [{}] spell delay is currently [{}] seconds.'",
my_bot->GetCleanName(), my_bot->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
my_bot->GetSpellDelay(spell_type) / 1000.00 my_bot->GetSpellTypeDelay(spell_type) / 1000.00
).c_str() ).c_str()
); );
} }
else { else {
my_bot->SetSpellDelay(spell_type, type_value); my_bot->SetSpellTypeDelay(spell_type, type_value);
++success_count; ++success_count;
} }
} }
@@ -238,7 +238,7 @@ void bot_command_spell_delays(Client* c, const Seperator* sep) {
"{} says, 'My [{}] spell delay was set to [{}] seconds.'", "{} says, 'My [{}] spell delay was set to [{}] seconds.'",
first_found->GetCleanName(), first_found->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
first_found->GetSpellDelay(spell_type) / 1000.00 first_found->GetSpellTypeDelay(spell_type) / 1000.00
).c_str() ).c_str()
); );
} }
@@ -262,19 +262,19 @@ void bot_command_spell_delays(Client* c, const Seperator* sep) {
fmt::format( fmt::format(
"Your [{}] spell delay is currently [{}] seconds.", "Your [{}] spell delay is currently [{}] seconds.",
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
c->GetSpellDelay(spell_type) / 1000.00 c->GetSpellTypeDelay(spell_type) / 1000.00
).c_str() ).c_str()
); );
} }
else { else {
c->SetSpellDelay(spell_type, type_value); c->SetSpellTypeDelay(spell_type, type_value);
c->Message( c->Message(
Chat::Green, Chat::Green,
fmt::format( fmt::format(
"Your [{}] spell delay was set to [{}] seconds.", "Your [{}] spell delay was set to [{}] seconds.",
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
c->GetSpellDelay(spell_type) / 1000.00 c->GetSpellTypeDelay(spell_type) / 1000.00
).c_str() ).c_str()
); );
} }
+3 -3
View File
@@ -157,12 +157,12 @@ void bot_command_spell_holds(Client* c, const Seperator* sep)
"{} says, 'My [{}] spell hold is currently [{}].'", "{} says, 'My [{}] spell hold is currently [{}].'",
my_bot->GetCleanName(), my_bot->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
my_bot->GetSpellHold(spell_type) ? "enabled" : "disabled" my_bot->GetSpellTypeHold(spell_type) ? "enabled" : "disabled"
).c_str() ).c_str()
); );
} }
else { else {
my_bot->SetSpellHold(spell_type, type_value); my_bot->SetSpellTypeHold(spell_type, type_value);
++success_count; ++success_count;
} }
} }
@@ -174,7 +174,7 @@ void bot_command_spell_holds(Client* c, const Seperator* sep)
"{} says, 'My [{}] spell hold was [{}].'", "{} says, 'My [{}] spell hold was [{}].'",
first_found->GetCleanName(), first_found->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
first_found->GetSpellHold(spell_type) ? "enabled" : "disabled" first_found->GetSpellTypeHold(spell_type) ? "enabled" : "disabled"
).c_str() ).c_str()
); );
} }
+6 -6
View File
@@ -216,12 +216,12 @@ void bot_command_spell_max_thresholds(Client* c, const Seperator* sep) {
"{} says, 'My [{}] maximum threshold is currently [{}%%].'", "{} says, 'My [{}] maximum threshold is currently [{}%%].'",
my_bot->GetCleanName(), my_bot->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
my_bot->GetSpellMaxThreshold(spell_type) my_bot->GetSpellTypeMaxThreshold(spell_type)
).c_str() ).c_str()
); );
} }
else { else {
my_bot->SetSpellMaxThreshold(spell_type, type_value); my_bot->SetSpellTypeMaxThreshold(spell_type, type_value);
++success_count; ++success_count;
} }
} }
@@ -234,7 +234,7 @@ void bot_command_spell_max_thresholds(Client* c, const Seperator* sep) {
"{} says, 'My [{}] maximum threshold was set to [{}%%].'", "{} says, 'My [{}] maximum threshold was set to [{}%%].'",
first_found->GetCleanName(), first_found->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
first_found->GetSpellMaxThreshold(spell_type) first_found->GetSpellTypeMaxThreshold(spell_type)
).c_str() ).c_str()
); );
} }
@@ -258,19 +258,19 @@ void bot_command_spell_max_thresholds(Client* c, const Seperator* sep) {
fmt::format( fmt::format(
"Your [{}] maximum threshold is currently [{}%%].", "Your [{}] maximum threshold is currently [{}%%].",
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
c->GetSpellMaxThreshold(spell_type) c->GetSpellTypeMaxThreshold(spell_type)
).c_str() ).c_str()
); );
} }
else { else {
c->SetSpellMaxThreshold(spell_type, type_value); c->SetSpellTypeMaxThreshold(spell_type, type_value);
c->Message( c->Message(
Chat::Green, Chat::Green,
fmt::format( fmt::format(
"Your [{}] maximum threshold was set to [{}%%].", "Your [{}] maximum threshold was set to [{}%%].",
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
c->GetSpellMaxThreshold(spell_type) c->GetSpellTypeMaxThreshold(spell_type)
).c_str() ).c_str()
); );
} }
+6 -6
View File
@@ -218,12 +218,12 @@ void bot_command_spell_min_thresholds(Client* c, const Seperator* sep) {
"{} says, 'My [{}] minimum threshold is currently [{}%%].'", "{} says, 'My [{}] minimum threshold is currently [{}%%].'",
my_bot->GetCleanName(), my_bot->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
my_bot->GetSpellMinThreshold(spell_type) my_bot->GetSpellTypeMinThreshold(spell_type)
).c_str() ).c_str()
); );
} }
else { else {
my_bot->SetSpellMinThreshold(spell_type, type_value); my_bot->SetSpellTypeMinThreshold(spell_type, type_value);
++success_count; ++success_count;
} }
} }
@@ -236,7 +236,7 @@ void bot_command_spell_min_thresholds(Client* c, const Seperator* sep) {
"{} says, 'My [{}] minimum threshold was set to [{}%%].'", "{} says, 'My [{}] minimum threshold was set to [{}%%].'",
first_found->GetCleanName(), first_found->GetCleanName(),
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
first_found->GetSpellMinThreshold(spell_type) first_found->GetSpellTypeMinThreshold(spell_type)
).c_str() ).c_str()
); );
} }
@@ -260,19 +260,19 @@ void bot_command_spell_min_thresholds(Client* c, const Seperator* sep) {
fmt::format( fmt::format(
"Your [{}] minimum threshold is currently [{}%%].", "Your [{}] minimum threshold is currently [{}%%].",
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
c->GetSpellMinThreshold(spell_type) c->GetSpellTypeMinThreshold(spell_type)
).c_str() ).c_str()
); );
} }
else { else {
c->SetSpellMinThreshold(spell_type, type_value); c->SetSpellTypeMinThreshold(spell_type, type_value);
c->Message( c->Message(
Chat::Green, Chat::Green,
fmt::format( fmt::format(
"Your [{}] minimum threshold was set to [{}%%].", "Your [{}] minimum threshold was set to [{}%%].",
Bot::GetSpellTypeNameByID(spell_type), Bot::GetSpellTypeNameByID(spell_type),
c->GetSpellMinThreshold(spell_type) c->GetSpellTypeMinThreshold(spell_type)
).c_str() ).c_str()
); );
} }
+9 -9
View File
@@ -2283,15 +2283,15 @@ public:
int GetBotSetting(uint8 setting_type, uint16 bot_setting); int GetBotSetting(uint8 setting_type, uint16 bot_setting);
void SetBotSetting(uint8 setting_type, uint16 bot_setting, uint32 setting_value); void SetBotSetting(uint8 setting_type, uint16 bot_setting, uint32 setting_value);
uint16 GetDefaultSpellDelay(uint16 spell_type); uint16 GetDefaultSpellTypeDelay(uint16 spell_type);
uint8 GetDefaultSpellMinThreshold(uint16 spell_type); uint8 GetDefaultSpellTypeMinThreshold(uint16 spell_type);
uint8 GetDefaultSpellMaxThreshold(uint16 spell_type); uint8 GetDefaultSpellTypeMaxThreshold(uint16 spell_type);
inline uint16 GetSpellDelay(uint16 spell_type) const { return m_bot_spell_settings[spell_type].delay; } inline uint16 GetSpellTypeDelay(uint16 spell_type) const { return m_bot_spell_settings[spell_type].delay; }
inline void SetSpellDelay(uint16 spell_type, uint16 delay_value) { m_bot_spell_settings[spell_type].delay = delay_value; } inline void SetSpellTypeDelay(uint16 spell_type, uint16 delay_value) { m_bot_spell_settings[spell_type].delay = delay_value; }
inline uint8 GetSpellMinThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].min_threshold; } inline uint8 GetSpellTypeMinThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].min_threshold; }
inline void SetSpellMinThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].min_threshold = threshold_value; } inline void SetSpellTypeMinThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].min_threshold = threshold_value; }
inline uint8 GetSpellMaxThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].max_threshold; } inline uint8 GetSpellTypeMaxThreshold(uint16 spell_type) const { return m_bot_spell_settings[spell_type].max_threshold; }
inline void SetSpellMaxThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].max_threshold = threshold_value; } inline void SetSpellTypeMaxThreshold(uint16 spell_type, uint8 threshold_value) { m_bot_spell_settings[spell_type].max_threshold = threshold_value; }
inline bool SpellTypeRecastCheck(uint16 spellType) { return !m_bot_spell_settings[spellType].recast_timer.GetRemainingTime(); } inline bool SpellTypeRecastCheck(uint16 spellType) { return !m_bot_spell_settings[spellType].recast_timer.GetRemainingTime(); }
void SetSpellTypeRecastTimer(uint16 spell_type, uint32 recast_time) { m_bot_spell_settings[spell_type].recast_timer.Start(recast_time); } void SetSpellTypeRecastTimer(uint16 spell_type, uint32 recast_time) { m_bot_spell_settings[spell_type].recast_timer.Start(recast_time); }
+18 -16
View File
@@ -233,15 +233,17 @@ void Client::LoadDefaultBotSettings() {
t.spell_type = i; t.spell_type = i;
t.short_name = Bot::GetSpellTypeShortNameByID(i); t.short_name = Bot::GetSpellTypeShortNameByID(i);
t.name = Bot::GetSpellTypeNameByID(i); t.name = Bot::GetSpellTypeNameByID(i);
t.delay = GetDefaultSpellDelay(i); t.delay = GetDefaultSpellTypeDelay(i);
t.min_threshold = GetDefaultSpellMinThreshold(i); t.min_threshold = GetDefaultSpellTypeMinThreshold(i);
t.max_threshold = GetDefaultSpellMaxThreshold(i); t.max_threshold = GetDefaultSpellTypeMaxThreshold(i);
t.recast_timer.Start(); t.recast_timer.Start();
m_bot_spell_settings.push_back(t); m_bot_spell_settings.push_back(t);
LogBotSettingsDetail("{} says, 'Setting defaults for {} ({}) [#{}]'", GetCleanName(), t.name, t.short_name, t.spell_type); LogBotSettingsDetail("{} says, 'Setting defaults for {} ({}) [#{}]'", GetCleanName(), t.name, t.short_name, t.spell_type);
LogBotSettingsDetail("{} says, 'Delay = [{}ms] | MinThreshold = [{}\%] | MaxThreshold = [{}\%]'", GetCleanName(), GetDefaultSpellDelay(i), GetDefaultSpellMinThreshold(i), GetDefaultSpellMaxThreshold(i)); LogBotSettingsDetail("{} says, 'Delay = [{}ms] | MinThreshold = [{}\%] | MaxThreshold = [{}\%]'", GetCleanName(),
GetDefaultSpellTypeDelay(i),
GetDefaultSpellTypeMinThreshold(i), GetDefaultSpellTypeMaxThreshold(i));
} }
} }
@@ -250,11 +252,11 @@ int Client::GetDefaultBotSettings(uint8 setting_type, uint16 bot_setting) {
case BotSettingCategories::BaseSetting: case BotSettingCategories::BaseSetting:
return false; // only setting supported currently is illusion block return false; // only setting supported currently is illusion block
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
return GetDefaultSpellDelay(bot_setting); return GetDefaultSpellTypeDelay(bot_setting);
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
return GetDefaultSpellMinThreshold(bot_setting); return GetDefaultSpellTypeMinThreshold(bot_setting);
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
return GetDefaultSpellMaxThreshold(bot_setting); return GetDefaultSpellTypeMaxThreshold(bot_setting);
} }
} }
@@ -263,11 +265,11 @@ int Client::GetBotSetting(uint8 setting_type, uint16 bot_setting) {
case BotSettingCategories::BaseSetting: case BotSettingCategories::BaseSetting:
return GetIllusionBlock(); // only setting supported currently return GetIllusionBlock(); // only setting supported currently
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
return GetSpellDelay(bot_setting); return GetSpellTypeDelay(bot_setting);
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
return GetSpellMinThreshold(bot_setting); return GetSpellTypeMinThreshold(bot_setting);
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
return GetSpellMaxThreshold(bot_setting); return GetSpellTypeMaxThreshold(bot_setting);
} }
} }
@@ -277,13 +279,13 @@ void Client::SetBotSetting(uint8 setting_type, uint16 bot_setting, uint32 settin
SetIllusionBlock(setting_value); // only setting supported currently SetIllusionBlock(setting_value); // only setting supported currently
break; break;
case BotSettingCategories::SpellDelay: case BotSettingCategories::SpellDelay:
SetSpellDelay(bot_setting, setting_value); SetSpellTypeDelay(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellMinThreshold: case BotSettingCategories::SpellMinThreshold:
SetSpellMinThreshold(bot_setting, setting_value); SetSpellTypeMinThreshold(bot_setting, setting_value);
break; break;
case BotSettingCategories::SpellMaxThreshold: case BotSettingCategories::SpellMaxThreshold:
SetSpellMaxThreshold(bot_setting, setting_value); SetSpellTypeMaxThreshold(bot_setting, setting_value);
break; break;
} }
} }
@@ -348,7 +350,7 @@ void Client::SendSpellTypePrompts(bool commanded_types, bool client_only_types)
return; return;
} }
uint16 Client::GetDefaultSpellDelay(uint16 spell_type) { uint16 Client::GetDefaultSpellTypeDelay(uint16 spell_type) {
switch (spell_type) { switch (spell_type) {
case BotSpellTypes::VeryFastHeals: case BotSpellTypes::VeryFastHeals:
case BotSpellTypes::PetVeryFastHeals: case BotSpellTypes::PetVeryFastHeals:
@@ -379,14 +381,14 @@ uint16 Client::GetDefaultSpellDelay(uint16 spell_type) {
} }
} }
uint8 Client::GetDefaultSpellMinThreshold(uint16 spell_type) { uint8 Client::GetDefaultSpellTypeMinThreshold(uint16 spell_type) {
switch (spell_type) { switch (spell_type) {
default: default:
return 0; return 0;
} }
} }
uint8 Client::GetDefaultSpellMaxThreshold(uint16 spell_type) { uint8 Client::GetDefaultSpellTypeMaxThreshold(uint16 spell_type) {
uint8 client_class = GetClass(); uint8 client_class = GetClass();
switch (spell_type) { switch (spell_type) {