Correct config options

This commit is contained in:
Yunfan Li
2024-08-14 13:57:31 +08:00
parent 8613203c81
commit 1f48086185
4 changed files with 52 additions and 49 deletions

View File

@@ -1273,7 +1273,7 @@ AiPlayerbot.CommandPrefix = ""
AiPlayerbot.CommandSeparator = "\\\\" AiPlayerbot.CommandSeparator = "\\\\"
# Enable playerbot talk (say / yell / general chatting / lfg) # Enable playerbot talk (say / yell / general chatting / lfg)
AiPlayerbot.RandomBotTalk = 0 AiPlayerbot.RandomBotTalk = 1
# Enable playerbot emote # Enable playerbot emote
AiPlayerbot.RandomBotEmote = 0 AiPlayerbot.RandomBotEmote = 0
# Enable dungeon suggestions for random bots # Enable dungeon suggestions for random bots
@@ -1301,7 +1301,7 @@ AiPlayerbot.RandomBotSayWithoutMaster = 0
# Broadcast rates # Broadcast rates
# #
# 1 - to enable broadcasts globally, 0 - to disable (default 1) # 1 - to enable broadcasts globally, 0 - to disable (default 1)
# AiPlayerbot.EnableBroadcasts = 1 AiPlayerbot.EnableBroadcasts = 1
# #
# all broadcast chances should be in range 0-30000 # all broadcast chances should be in range 0-30000
# #
@@ -1310,66 +1310,66 @@ AiPlayerbot.RandomBotSayWithoutMaster = 0
# #
# setting channel broadcast chance to 0, will re-route most broadcasts to other available channels # setting channel broadcast chance to 0, will re-route most broadcasts to other available channels
# setting all channel broadcasts to 0 will disable most broadcasts # setting all channel broadcasts to 0 will disable most broadcasts
# AiPlayerbot.BroadcastToGuildGlobalChance = 30000 AiPlayerbot.BroadcastToGuildGlobalChance = 30000
# AiPlayerbot.BroadcastToWorldGlobalChance = 30000 AiPlayerbot.BroadcastToWorldGlobalChance = 30000
# AiPlayerbot.BroadcastToGeneralGlobalChance = 30000 AiPlayerbot.BroadcastToGeneralGlobalChance = 30000
# AiPlayerbot.BroadcastToTradeGlobalChance = 30000 AiPlayerbot.BroadcastToTradeGlobalChance = 30000
# AiPlayerbot.BroadcastToLFGGlobalChance = 30000 AiPlayerbot.BroadcastToLFGGlobalChance = 30000
# AiPlayerbot.BroadcastToLocalDefenseGlobalChance = 30000 AiPlayerbot.BroadcastToLocalDefenseGlobalChance = 30000
# AiPlayerbot.BroadcastToWorldDefenseGlobalChance = 30000 AiPlayerbot.BroadcastToWorldDefenseGlobalChance = 30000
# AiPlayerbot.BroadcastToGuildRecruitmentGlobalChance = 30000 AiPlayerbot.BroadcastToGuildRecruitmentGlobalChance = 30000
# #
# individual settings # individual settings
# setting one of these to 0 will disable the particular broadcast # setting one of these to 0 will disable the particular broadcast
# AiPlayerbot.BroadcastChanceLootingItemPoor = 30 AiPlayerbot.BroadcastChanceLootingItemPoor = 30
# AiPlayerbot.BroadcastChanceLootingItemNormal = 150 AiPlayerbot.BroadcastChanceLootingItemNormal = 150
# AiPlayerbot.BroadcastChanceLootingItemUncommon = 10000 AiPlayerbot.BroadcastChanceLootingItemUncommon = 10000
# AiPlayerbot.BroadcastChanceLootingItemRare = 20000 AiPlayerbot.BroadcastChanceLootingItemRare = 20000
# AiPlayerbot.BroadcastChanceLootingItemEpic = 30000 AiPlayerbot.BroadcastChanceLootingItemEpic = 30000
# AiPlayerbot.BroadcastChanceLootingItemLegendary = 30000 AiPlayerbot.BroadcastChanceLootingItemLegendary = 30000
# AiPlayerbot.BroadcastChanceLootingItemArtifact = 30000 AiPlayerbot.BroadcastChanceLootingItemArtifact = 30000
# #
# AiPlayerbot.BroadcastChanceQuestAccepted = 6000 AiPlayerbot.BroadcastChanceQuestAccepted = 6000
# AiPlayerbot.BroadcastChanceQuestUpdateObjectiveCompleted = 300 AiPlayerbot.BroadcastChanceQuestUpdateObjectiveCompleted = 300
# AiPlayerbot.BroadcastChanceQuestUpdateObjectiveProgress = 300 AiPlayerbot.BroadcastChanceQuestUpdateObjectiveProgress = 300
# AiPlayerbot.BroadcastChanceQuestUpdateFailedTimer = 300 AiPlayerbot.BroadcastChanceQuestUpdateFailedTimer = 300
# AiPlayerbot.BroadcastChanceQuestUpdateComplete = 1000 AiPlayerbot.BroadcastChanceQuestUpdateComplete = 1000
# AiPlayerbot.BroadcastChanceQuestTurnedIn = 10000 AiPlayerbot.BroadcastChanceQuestTurnedIn = 10000
# #
# AiPlayerbot.BroadcastChanceKillNormal = 30 AiPlayerbot.BroadcastChanceKillNormal = 30
# AiPlayerbot.BroadcastChanceKillElite = 300 AiPlayerbot.BroadcastChanceKillElite = 300
# AiPlayerbot.BroadcastChanceKillRareelite = 3000 AiPlayerbot.BroadcastChanceKillRareelite = 3000
# AiPlayerbot.BroadcastChanceKillWorldboss = 20000 AiPlayerbot.BroadcastChanceKillWorldboss = 20000
# AiPlayerbot.BroadcastChanceKillRare = 10000 AiPlayerbot.BroadcastChanceKillRare = 10000
# AiPlayerbot.BroadcastChanceKillUnknown = 100 AiPlayerbot.BroadcastChanceKillUnknown = 100
# AiPlayerbot.BroadcastChanceKillPet = 10 AiPlayerbot.BroadcastChanceKillPet = 10
# AiPlayerbot.BroadcastChanceKillPlayer = 30 AiPlayerbot.BroadcastChanceKillPlayer = 30
# #
# AiPlayerbot.BroadcastChanceLevelupGeneric = 20000 AiPlayerbot.BroadcastChanceLevelupGeneric = 20000
# AiPlayerbot.BroadcastChanceLevelupTenX = 30000 AiPlayerbot.BroadcastChanceLevelupTenX = 30000
# AiPlayerbot.BroadcastChanceLevelupMaxLevel = 30000 AiPlayerbot.BroadcastChanceLevelupMaxLevel = 30000
# #
# AiPlayerbot.BroadcastChanceSuggestInstance = 5000 AiPlayerbot.BroadcastChanceSuggestInstance = 5000
# AiPlayerbot.BroadcastChanceSuggestQuest = 10000 AiPlayerbot.BroadcastChanceSuggestQuest = 10000
# AiPlayerbot.BroadcastChanceSuggestGrindMaterials = 5000 AiPlayerbot.BroadcastChanceSuggestGrindMaterials = 5000
# AiPlayerbot.BroadcastChanceSuggestGrindReputation = 5000 AiPlayerbot.BroadcastChanceSuggestGrindReputation = 5000
# AiPlayerbot.BroadcastChanceSuggestSell = 300 AiPlayerbot.BroadcastChanceSuggestSell = 300
# AiPlayerbot.BroadcastChanceSuggestSomething = 30000 AiPlayerbot.BroadcastChanceSuggestSomething = 30000
# #
# Very rude speeches # Very rude speeches
# AiPlayerbot.BroadcastChanceSuggestSomethingToxic = 0 AiPlayerbot.BroadcastChanceSuggestSomethingToxic = 0
# #
# Specifically for "<word> [item link]" # Specifically for "<word> [item link]"
# AiPlayerbot.BroadcastChanceSuggestToxicLinks = 0 AiPlayerbot.BroadcastChanceSuggestToxicLinks = 0
# #
# prefix is used as a word in "<word> [item link]" # prefix is used as a word in "<word> [item link]"
# AiPlayerbot.ToxicLinksPrefix = gnomes AiPlayerbot.ToxicLinksPrefix = gnomes
# #
# chance to suggest thunderfury # chance to suggest thunderfury
# AiPlayerbot.BroadcastChanceSuggestThunderfury = 1 AiPlayerbot.BroadcastChanceSuggestThunderfury = 1
# #
# does not depend on global chance # does not depend on global chance
# AiPlayerbot.BroadcastChanceGuildManagement = 30000 AiPlayerbot.BroadcastChanceGuildManagement = 30000
# #
#################################################################################################### ####################################################################################################

View File

@@ -934,9 +934,11 @@ void PlayerbotAI::HandleBotOutgoingPacket(WorldPacket const& packet)
} }
case SMSG_MESSAGECHAT: // do not react to self or if not ready to reply case SMSG_MESSAGECHAT: // do not react to self or if not ready to reply
{ {
if (!sPlayerbotAIConfig->randomBotTalk)
return;
if (!AllowActivity()) if (!AllowActivity())
return; return;
WorldPacket p(packet); WorldPacket p(packet);
if (!p.empty() && (p.GetOpcode() == SMSG_MESSAGECHAT || p.GetOpcode() == SMSG_GM_MESSAGECHAT)) if (!p.empty() && (p.GetOpcode() == SMSG_MESSAGECHAT || p.GetOpcode() == SMSG_GM_MESSAGECHAT))
{ {

View File

@@ -419,10 +419,10 @@ bool StoreLootAction::Execute(Event event)
packet << itemindex; packet << itemindex;
bot->GetSession()->HandleAutostoreLootItemOpcode(packet); bot->GetSession()->HandleAutostoreLootItemOpcode(packet);
if (proto->Quality > ITEM_QUALITY_NORMAL && !urand(0, 50) && botAI->HasStrategy("emote", BOT_STATE_NON_COMBAT)) if (proto->Quality > ITEM_QUALITY_NORMAL && !urand(0, 50) && botAI->HasStrategy("emote", BOT_STATE_NON_COMBAT) && sPlayerbotAIConfig->randomBotEmote)
botAI->PlayEmote(TEXT_EMOTE_CHEER); botAI->PlayEmote(TEXT_EMOTE_CHEER);
if (proto->Quality >= ITEM_QUALITY_RARE && !urand(0, 1) && botAI->HasStrategy("emote", BOT_STATE_NON_COMBAT)) if (proto->Quality >= ITEM_QUALITY_RARE && !urand(0, 1) && botAI->HasStrategy("emote", BOT_STATE_NON_COMBAT) && sPlayerbotAIConfig->randomBotEmote)
botAI->PlayEmote(TEXT_EMOTE_CHEER); botAI->PlayEmote(TEXT_EMOTE_CHEER);
BroadcastHelper::BroadcastLootingItem(botAI, bot, proto); BroadcastHelper::BroadcastLootingItem(botAI, bot, proto);

View File

@@ -11,6 +11,7 @@ void EmoteStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
{ {
if (sPlayerbotAIConfig->randomBotEmote) if (sPlayerbotAIConfig->randomBotEmote)
{ {
triggers.push_back(new TriggerNode("often", NextAction::array(0, new NextAction("talk", 1.0f), nullptr)));
triggers.push_back(new TriggerNode("seldom", NextAction::array(0, new NextAction("emote", 1.0f), nullptr))); triggers.push_back(new TriggerNode("seldom", NextAction::array(0, new NextAction("emote", 1.0f), nullptr)));
triggers.push_back( triggers.push_back(
new TriggerNode("receive text emote", NextAction::array(0, new NextAction("emote", 10.0f), nullptr))); new TriggerNode("receive text emote", NextAction::array(0, new NextAction("emote", 10.0f), nullptr)));
@@ -23,7 +24,7 @@ void EmoteStrategy::InitTriggers(std::vector<TriggerNode*>& triggers)
triggers.push_back(new TriggerNode( triggers.push_back(new TriggerNode(
"often", "often",
NextAction::array(0, new NextAction("suggest what to do", 10.0f), new NextAction("suggest dungeon", 3.0f), NextAction::array(0, new NextAction("suggest what to do", 10.0f), new NextAction("suggest dungeon", 3.0f),
new NextAction("suggest trade", 3.0f), new NextAction("talk", 1.0f), nullptr))); new NextAction("suggest trade", 3.0f), nullptr)));
} }
if (sPlayerbotAIConfig->enableGreet) if (sPlayerbotAIConfig->enableGreet)