mirror of
https://github.com/mod-playerbots/mod-playerbots.git
synced 2026-02-03 02:43:49 +00:00
Improper singletons migration to clean Meyer's singletons (cherry-pick) (#2082)
# Pull Request
- Applies the clean and corrected singletons, Meyer pattern. (cherry
picked from @SmashingQuasar )
Testing by just playing the game in various ways. Been tested by myself
@Celandriel and @SmashingQuasar
---
## Complexity & Impact
- Does this change add new decision branches?
- [x] No
- [ ] Yes (**explain below**)
- Does this change increase per-bot or per-tick processing?
- [x] No
- [ ] Yes (**describe and justify impact**)
- Could this logic scale poorly under load?
- [x] No
- [ ] Yes (**explain why**)
---
## Defaults & Configuration
- Does this change modify default bot behavior?
- [x] No
- [ ] Yes (**explain why**)
---
## AI Assistance
- Was AI assistance (e.g. ChatGPT or similar tools) used while working
on this change?
- [x] No
- [ ] Yes (**explain below**)
---
## Final Checklist
- [x] Stability is not compromised
- [x] Performance impact is understood, tested, and acceptable
- [x] Added logic complexity is justified and explained
- [x] Documentation updated if needed
---
## Notes for Reviewers
Anything that significantly improves realism at the cost of stability or
performance should be carefully discussed
before merging.
---------
Co-authored-by: Nicolas Lebacq <nicolas.cordier@outlook.com>
Co-authored-by: Keleborn <22352763+Celandriel@users.noreply.github.com>
This commit is contained in:
@@ -28,29 +28,29 @@ bool BroadcastHelper::BroadcastTest(PlayerbotAI* ai, Player* /* bot */)
|
||||
|
||||
int32 rand = urand(0, 1);
|
||||
|
||||
if (rand == 1 && ai->SayToChannel(BOT_TEXT2("Posted to trade, %rand1, %rand2, %rand3", placeholders), ChatChannelId::TRADE))
|
||||
if (rand == 1 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to trade, %rand1, %rand2, %rand3", placeholders), ChatChannelId::TRADE))
|
||||
return true;
|
||||
else if (ai->SayToChannel(BOT_TEXT2("Posted to GuildRecruitment, %rand1, %rand2, %rand3", placeholders), ChatChannelId::GUILD_RECRUITMENT))
|
||||
else if (ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to GuildRecruitment, %rand1, %rand2, %rand3", placeholders), ChatChannelId::GUILD_RECRUITMENT))
|
||||
return true;
|
||||
|
||||
return ai->SayToChannel(BOT_TEXT2("Posted to trade, %rand1, %rand2, %rand3", placeholders), ChatChannelId::TRADE);
|
||||
return ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to trade, %rand1, %rand2, %rand3", placeholders), ChatChannelId::TRADE);
|
||||
|
||||
//int32 rand = urand(1, 8);
|
||||
if (rand == 1 && ai->SayToGuild(BOT_TEXT2("Posted to guild, %rand1, %rand2, %rand3", placeholders)))
|
||||
if (rand == 1 && ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("Posted to guild, %rand1, %rand2, %rand3", placeholders)))
|
||||
return true;
|
||||
else if (rand == 2 && ai->SayToWorld(BOT_TEXT2("Posted to world, %rand1, %rand2, %rand3", placeholders)))
|
||||
else if (rand == 2 && ai->SayToWorld(PlayerbotTextMgr::instance().GetBotText("Posted to world, %rand1, %rand2, %rand3", placeholders)))
|
||||
return true;
|
||||
else if (rand == 3 && ai->SayToChannel(BOT_TEXT2("Posted to general, %rand1, %rand2, %rand3", placeholders), ChatChannelId::GENERAL))
|
||||
else if (rand == 3 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to general, %rand1, %rand2, %rand3", placeholders), ChatChannelId::GENERAL))
|
||||
return true;
|
||||
else if (rand == 4 && ai->SayToChannel(BOT_TEXT2("Posted to trade, %rand1, %rand2, %rand3", placeholders), ChatChannelId::TRADE))
|
||||
else if (rand == 4 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to trade, %rand1, %rand2, %rand3", placeholders), ChatChannelId::TRADE))
|
||||
return true;
|
||||
else if (rand == 5 && ai->SayToChannel(BOT_TEXT2("Posted to LFG, %rand1, %rand2, %rand3", placeholders), ChatChannelId::LOOKING_FOR_GROUP))
|
||||
else if (rand == 5 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to LFG, %rand1, %rand2, %rand3", placeholders), ChatChannelId::LOOKING_FOR_GROUP))
|
||||
return true;
|
||||
else if (rand == 6 && ai->SayToChannel(BOT_TEXT2("Posted to LocalDefense, %rand1, %rand2, %rand3", placeholders), ChatChannelId::LOCAL_DEFENSE))
|
||||
else if (rand == 6 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to LocalDefense, %rand1, %rand2, %rand3", placeholders), ChatChannelId::LOCAL_DEFENSE))
|
||||
return true;
|
||||
else if (rand == 7 && ai->SayToChannel(BOT_TEXT2("Posted to WorldDefense, %rand1, %rand2, %rand3", placeholders), ChatChannelId::WORLD_DEFENSE))
|
||||
else if (rand == 7 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to WorldDefense, %rand1, %rand2, %rand3", placeholders), ChatChannelId::WORLD_DEFENSE))
|
||||
return true;
|
||||
else if (rand == 8 && ai->SayToChannel(BOT_TEXT2("Posted to GuildRecruitment, %rand1, %rand2, %rand3", placeholders), ChatChannelId::GUILD_RECRUITMENT))
|
||||
else if (rand == 8 && ai->SayToChannel(PlayerbotTextMgr::instance().GetBotText("Posted to GuildRecruitment, %rand1, %rand2, %rand3", placeholders), ChatChannelId::GUILD_RECRUITMENT))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
@@ -63,7 +63,7 @@ bool BroadcastHelper::BroadcastTest(PlayerbotAI* ai, Player* /* bot */)
|
||||
*/
|
||||
bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::string message, std::list<std::pair<ToChannel, uint32>> toChannels)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (message.empty())
|
||||
{
|
||||
@@ -74,14 +74,14 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
{
|
||||
uint32 roll = urand(1, 100);
|
||||
uint32 chance = pair.second;
|
||||
uint32 broadcastRoll = urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue);
|
||||
uint32 broadcastRoll = urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue);
|
||||
|
||||
switch (pair.first)
|
||||
{
|
||||
case TO_GUILD:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToGuildGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToGuildGlobalChance
|
||||
&& ai->SayToGuild(message))
|
||||
{
|
||||
return true;
|
||||
@@ -91,7 +91,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_WORLD:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToWorldGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToWorldGlobalChance
|
||||
&& ai->SayToWorld(message))
|
||||
{
|
||||
return true;
|
||||
@@ -101,7 +101,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_GENERAL:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToGeneralGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToGeneralGlobalChance
|
||||
&& ai->SayToChannel(message, ChatChannelId::GENERAL))
|
||||
{
|
||||
return true;
|
||||
@@ -111,7 +111,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_TRADE:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToTradeGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToTradeGlobalChance
|
||||
&& ai->SayToChannel(message, ChatChannelId::TRADE))
|
||||
{
|
||||
return true;
|
||||
@@ -121,7 +121,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_LOOKING_FOR_GROUP:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToLFGGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToLFGGlobalChance
|
||||
&& ai->SayToChannel(message, ChatChannelId::LOOKING_FOR_GROUP))
|
||||
{
|
||||
return true;
|
||||
@@ -131,7 +131,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_LOCAL_DEFENSE:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToLocalDefenseGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToLocalDefenseGlobalChance
|
||||
&& ai->SayToChannel(message, ChatChannelId::LOCAL_DEFENSE))
|
||||
{
|
||||
return true;
|
||||
@@ -141,7 +141,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_WORLD_DEFENSE:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToWorldDefenseGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToWorldDefenseGlobalChance
|
||||
&& ai->SayToChannel(message, ChatChannelId::WORLD_DEFENSE))
|
||||
{
|
||||
return true;
|
||||
@@ -151,7 +151,7 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
case TO_GUILD_RECRUITMENT:
|
||||
{
|
||||
if (roll <= chance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig->broadcastToGuildRecruitmentGlobalChance
|
||||
&& broadcastRoll <= sPlayerbotAIConfig.broadcastToGuildRecruitmentGlobalChance
|
||||
&& ai->SayToChannel(message, ChatChannelId::GUILD_RECRUITMENT))
|
||||
{
|
||||
return true;
|
||||
@@ -168,14 +168,14 @@ bool BroadcastHelper::BroadcastToChannelWithGlobalChance(PlayerbotAI* ai, std::s
|
||||
|
||||
bool BroadcastHelper::BroadcastLootingItem(PlayerbotAI* ai, Player* bot, ItemTemplate const* proto)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%item_link"] = ai->GetChatHelper()->FormatItem(proto);
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
@@ -183,71 +183,71 @@ bool BroadcastHelper::BroadcastLootingItem(PlayerbotAI* ai, Player* bot, ItemTem
|
||||
switch (proto->Quality)
|
||||
{
|
||||
case ITEM_QUALITY_POOR:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemPoor)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemPoor)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_poor", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_poor", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case ITEM_QUALITY_NORMAL:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemNormal)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemNormal)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_normal", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_normal", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case ITEM_QUALITY_UNCOMMON:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemUncommon)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemUncommon)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_uncommon", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_uncommon", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case ITEM_QUALITY_RARE:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemRare)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemRare)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_rare", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_rare", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case ITEM_QUALITY_EPIC:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemEpic)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemEpic)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_epic", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_epic", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case ITEM_QUALITY_LEGENDARY:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemLegendary)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemLegendary)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_legendary", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_legendary", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case ITEM_QUALITY_ARTIFACT:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLootingItemArtifact)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLootingItemArtifact)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_looting_item_artifact", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_looting_item_artifact", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -261,23 +261,23 @@ bool BroadcastHelper::BroadcastLootingItem(PlayerbotAI* ai, Player* bot, ItemTem
|
||||
|
||||
bool BroadcastHelper::BroadcastQuestAccepted(PlayerbotAI* ai, Player* bot, const Quest* quest)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestAccepted)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestAccepted)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%quest_link"] = ai->GetChatHelper()->FormatQuest(quest);
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_accepted_generic", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_accepted_generic", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -287,13 +287,13 @@ bool BroadcastHelper::BroadcastQuestAccepted(PlayerbotAI* ai, Player* bot, const
|
||||
|
||||
bool BroadcastHelper::BroadcastQuestUpdateAddKill(PlayerbotAI* ai, Player* bot, Quest const* quest, uint32 availableCount, uint32 requiredCount, std::string obectiveName)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
std::map<std::string, std::string> placeholders;
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%quest_link"] = ai->GetChatHelper()->FormatQuest(quest);
|
||||
placeholders["%quest_obj_name"] = obectiveName;
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
@@ -305,20 +305,20 @@ bool BroadcastHelper::BroadcastQuestUpdateAddKill(PlayerbotAI* ai, Player* bot,
|
||||
placeholders["%quest_obj_full_formatted"] = ai->GetChatHelper()->FormatQuestObjective(obectiveName, availableCount, requiredCount);
|
||||
|
||||
if (availableCount < requiredCount
|
||||
&& urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestUpdateObjectiveProgress)
|
||||
&& urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestUpdateObjectiveProgress)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_update_add_kill_objective_progress", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_update_add_kill_objective_progress", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
else if (availableCount == requiredCount
|
||||
&& urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestUpdateObjectiveCompleted)
|
||||
&& urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestUpdateObjectiveCompleted)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_update_add_kill_objective_completed", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_update_add_kill_objective_completed", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -328,13 +328,13 @@ bool BroadcastHelper::BroadcastQuestUpdateAddKill(PlayerbotAI* ai, Player* bot,
|
||||
|
||||
bool BroadcastHelper::BroadcastQuestUpdateAddItem(PlayerbotAI* ai, Player* bot, Quest const* quest, uint32 availableCount, uint32 requiredCount, const ItemTemplate* proto)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
std::map<std::string, std::string> placeholders;
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%quest_link"] = ai->GetChatHelper()->FormatQuest(quest);
|
||||
std::string itemLinkFormatted = ai->GetChatHelper()->FormatItem(proto);
|
||||
placeholders["%item_link"] = itemLinkFormatted;
|
||||
@@ -347,20 +347,20 @@ bool BroadcastHelper::BroadcastQuestUpdateAddItem(PlayerbotAI* ai, Player* bot,
|
||||
placeholders["%quest_obj_full_formatted"] = ai->GetChatHelper()->FormatQuestObjective(itemLinkFormatted, availableCount, requiredCount);
|
||||
|
||||
if (availableCount < requiredCount
|
||||
&& urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestUpdateObjectiveProgress)
|
||||
&& urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestUpdateObjectiveProgress)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_update_add_item_objective_progress", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_update_add_item_objective_progress", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
else if (availableCount == requiredCount
|
||||
&& urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestUpdateObjectiveCompleted)
|
||||
&& urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestUpdateObjectiveCompleted)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_update_add_item_objective_completed", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_update_add_item_objective_completed", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -370,23 +370,23 @@ bool BroadcastHelper::BroadcastQuestUpdateAddItem(PlayerbotAI* ai, Player* bot,
|
||||
|
||||
bool BroadcastHelper::BroadcastQuestUpdateFailedTimer(PlayerbotAI* ai, Player* bot, Quest const* quest)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestUpdateFailedTimer)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestUpdateFailedTimer)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%quest_link"] = ai->GetChatHelper()->FormatQuest(quest);
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_update_failed_timer", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_update_failed_timer", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -396,23 +396,23 @@ bool BroadcastHelper::BroadcastQuestUpdateFailedTimer(PlayerbotAI* ai, Player* b
|
||||
|
||||
bool BroadcastHelper::BroadcastQuestUpdateComplete(PlayerbotAI* ai, Player* bot, Quest const* quest)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestUpdateComplete)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestUpdateComplete)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%quest_link"] = ai->GetChatHelper()->FormatQuest(quest);
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_update_complete", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_update_complete", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -422,23 +422,23 @@ bool BroadcastHelper::BroadcastQuestUpdateComplete(PlayerbotAI* ai, Player* bot,
|
||||
|
||||
bool BroadcastHelper::BroadcastQuestTurnedIn(PlayerbotAI* ai, Player* bot, Quest const* quest)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceQuestTurnedIn)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceQuestTurnedIn)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%quest_link"] = ai->GetChatHelper()->FormatQuest(quest);
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_quest_turned_in", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_quest_turned_in", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -448,14 +448,14 @@ bool BroadcastHelper::BroadcastQuestTurnedIn(PlayerbotAI* ai, Player* bot, Quest
|
||||
|
||||
bool BroadcastHelper::BroadcastKill(PlayerbotAI* ai, Player* bot, Creature *creature)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%victim_name"] = creature->GetName();
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%victim_level"] = creature->GetLevel();
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
@@ -468,24 +468,24 @@ bool BroadcastHelper::BroadcastKill(PlayerbotAI* ai, Player* bot, Creature *crea
|
||||
|
||||
if (creature->IsPet())
|
||||
{
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillPet)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillPet)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_pet", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_pet", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
}
|
||||
else if (creature->IsPlayer())
|
||||
{
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillPlayer)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillPlayer)
|
||||
{
|
||||
placeholders["%victim_class"] = ai->GetChatHelper()->FormatClass(creature->getClass());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_player", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_player", placeholders),
|
||||
{ {TO_WORLD_DEFENSE, 50}, {TO_LOCAL_DEFENSE, 50}, {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -495,61 +495,61 @@ bool BroadcastHelper::BroadcastKill(PlayerbotAI* ai, Player* bot, Creature *crea
|
||||
switch (creature->GetCreatureTemplate()->rank)
|
||||
{
|
||||
case CREATURE_ELITE_NORMAL:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillNormal)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillNormal)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_normal", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_normal", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case CREATURE_ELITE_ELITE:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillElite)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillElite)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_elite", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_elite", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case CREATURE_ELITE_RAREELITE:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillRareelite)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillRareelite)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_rareelite", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_rareelite", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case CREATURE_ELITE_WORLDBOSS:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillWorldboss)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillWorldboss)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_worldboss", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_worldboss", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case CREATURE_ELITE_RARE:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillRare)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillRare)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_rare", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_rare", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
break;
|
||||
case CREATURE_UNKNOWN:
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceKillUnknown)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceKillUnknown)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_killed_unknown", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_killed_unknown", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -564,43 +564,43 @@ bool BroadcastHelper::BroadcastKill(PlayerbotAI* ai, Player* bot, Creature *crea
|
||||
|
||||
bool BroadcastHelper::BroadcastLevelup(PlayerbotAI* ai, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
uint32 level = bot->GetLevel();
|
||||
|
||||
std::map<std::string, std::string> placeholders;
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(level);
|
||||
|
||||
if (level == sPlayerbotAIConfig->randomBotMaxLevel
|
||||
&& urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLevelupMaxLevel)
|
||||
if (level == sPlayerbotAIConfig.randomBotMaxLevel
|
||||
&& urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLevelupMaxLevel)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_levelup_max_level", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_levelup_max_level", placeholders),
|
||||
{ {TO_GUILD, 30}, {TO_WORLD, 90}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
// It's divisible by 10
|
||||
else if (level % 10 == 0
|
||||
&& urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLevelupTenX)
|
||||
&& urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLevelupTenX)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_levelup_10x", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_levelup_10x", placeholders),
|
||||
{ {TO_GUILD, 50}, {TO_WORLD, 90}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
else if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceLevelupGeneric)
|
||||
else if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceLevelupGeneric)
|
||||
{
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("broadcast_levelup_generic", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("broadcast_levelup_generic", placeholders),
|
||||
{ {TO_GUILD, 90}, {TO_WORLD, 90}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -610,9 +610,9 @@ bool BroadcastHelper::BroadcastLevelup(PlayerbotAI* ai, Player* bot)
|
||||
|
||||
bool BroadcastHelper::BroadcastGuildMemberPromotion(PlayerbotAI* ai, Player* /* bot */, Player* player)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceGuildManagement)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceGuildManagement)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%other_name"] = player->GetName();
|
||||
@@ -620,7 +620,7 @@ bool BroadcastHelper::BroadcastGuildMemberPromotion(PlayerbotAI* ai, Player* /*
|
||||
placeholders["%other_race"] = ai->GetChatHelper()->FormatRace(player->getRace());
|
||||
placeholders["%other_level"] = std::to_string(player->GetLevel());
|
||||
|
||||
return ai->SayToGuild(BOT_TEXT2("broadcast_guild_promotion", placeholders));
|
||||
return ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("broadcast_guild_promotion", placeholders));
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -628,7 +628,7 @@ bool BroadcastHelper::BroadcastGuildMemberPromotion(PlayerbotAI* ai, Player* /*
|
||||
|
||||
bool BroadcastHelper::BroadcastGuildMemberDemotion(PlayerbotAI* ai, Player* /* bot */, Player* player)
|
||||
{
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceGuildManagement)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceGuildManagement)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%other_name"] = player->GetName();
|
||||
@@ -636,7 +636,7 @@ bool BroadcastHelper::BroadcastGuildMemberDemotion(PlayerbotAI* ai, Player* /* b
|
||||
placeholders["%other_race"] = ai->GetChatHelper()->FormatRace(player->getRace());
|
||||
placeholders["%other_level"] = std::to_string(player->GetLevel());
|
||||
|
||||
return ai->SayToGuild(BOT_TEXT2("broadcast_guild_demotion", placeholders));
|
||||
return ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("broadcast_guild_demotion", placeholders));
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -644,25 +644,25 @@ bool BroadcastHelper::BroadcastGuildMemberDemotion(PlayerbotAI* ai, Player* /* b
|
||||
|
||||
bool BroadcastHelper::BroadcastGuildGroupOrRaidInvite(PlayerbotAI* ai, Player* /* bot */, Player* player, Group* group)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%name"] = player->GetName();
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
|
||||
//TODO move texts to sql!
|
||||
if (group && group->isRaidGroup())
|
||||
{
|
||||
if (urand(0, 3))
|
||||
{
|
||||
return ai->SayToGuild(BOT_TEXT2("Hey anyone want to raid in %zone_name", placeholders));
|
||||
return ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("Hey anyone want to raid in %zone_name", placeholders));
|
||||
}
|
||||
else
|
||||
{
|
||||
return ai->SayToGuild(BOT_TEXT2("Hey %name I'm raiding in %zone_name do you wan to join me?", placeholders));
|
||||
return ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("Hey %name I'm raiding in %zone_name do you wan to join me?", placeholders));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -670,11 +670,11 @@ bool BroadcastHelper::BroadcastGuildGroupOrRaidInvite(PlayerbotAI* ai, Player* /
|
||||
//(bot->GetTeam() == ALLIANCE ? LANG_COMMON : LANG_ORCISH)
|
||||
if (urand(0, 3))
|
||||
{
|
||||
return ai->SayToGuild(BOT_TEXT2("Hey anyone wanna group up in %zone_name?", placeholders));
|
||||
return ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("Hey anyone wanna group up in %zone_name?", placeholders));
|
||||
}
|
||||
else
|
||||
{
|
||||
return ai->SayToGuild(BOT_TEXT2("Hey %name do you want join my group? I'm heading for %zone_name", placeholders));
|
||||
return ai->SayToGuild(PlayerbotTextMgr::instance().GetBotText("Hey %name do you want join my group? I'm heading for %zone_name", placeholders));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -683,9 +683,9 @@ bool BroadcastHelper::BroadcastGuildGroupOrRaidInvite(PlayerbotAI* ai, Player* /
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestInstance(PlayerbotAI* ai, std::vector<std::string>& allowedInstances, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestInstance)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestInstance)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%my_role"] = ChatHelper::FormatClass(bot, AiFactory::GetPlayerSpecTab(bot));
|
||||
@@ -701,7 +701,7 @@ bool BroadcastHelper::BroadcastSuggestInstance(PlayerbotAI* ai, std::vector<std:
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_instance", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_instance", placeholders),
|
||||
{ {TO_LOOKING_FOR_GROUP, 50}, {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -711,9 +711,9 @@ bool BroadcastHelper::BroadcastSuggestInstance(PlayerbotAI* ai, std::vector<std:
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestQuest(PlayerbotAI* ai, std::vector<uint32>& quests, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestQuest)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestQuest)
|
||||
{
|
||||
|
||||
int index = rand() % quests.size();
|
||||
@@ -730,7 +730,7 @@ bool BroadcastHelper::BroadcastSuggestQuest(PlayerbotAI* ai, std::vector<uint32>
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_quest", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_quest", placeholders),
|
||||
{ {TO_LOOKING_FOR_GROUP, 50}, {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -740,9 +740,9 @@ bool BroadcastHelper::BroadcastSuggestQuest(PlayerbotAI* ai, std::vector<uint32>
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestGrindMaterials(PlayerbotAI* ai, std::string item, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestGrindMaterials)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestGrindMaterials)
|
||||
{
|
||||
|
||||
std::map<std::string, std::string> placeholders;
|
||||
@@ -755,7 +755,7 @@ bool BroadcastHelper::BroadcastSuggestGrindMaterials(PlayerbotAI* ai, std::strin
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_trade", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_trade", placeholders),
|
||||
{ {TO_TRADE, 50}, {TO_LOOKING_FOR_GROUP, 50}, {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -765,9 +765,9 @@ bool BroadcastHelper::BroadcastSuggestGrindMaterials(PlayerbotAI* ai, std::strin
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestGrindReputation(PlayerbotAI* ai, std::vector<std::string> levels, std::vector<std::string> allowedFactions, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestGrindReputation)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestGrindReputation)
|
||||
{
|
||||
|
||||
std::map<std::string, std::string> placeholders;
|
||||
@@ -787,7 +787,7 @@ bool BroadcastHelper::BroadcastSuggestGrindReputation(PlayerbotAI* ai, std::vect
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_faction", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_faction", placeholders),
|
||||
{ {TO_LOOKING_FOR_GROUP, 50}, {TO_GUILD, 50}, {TO_WORLD, 50}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -797,9 +797,9 @@ bool BroadcastHelper::BroadcastSuggestGrindReputation(PlayerbotAI* ai, std::vect
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestSell(PlayerbotAI* ai, const ItemTemplate* proto, uint32 count, uint32 price, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestSell)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestSell)
|
||||
{
|
||||
|
||||
std::map<std::string, std::string> placeholders;
|
||||
@@ -814,7 +814,7 @@ bool BroadcastHelper::BroadcastSuggestSell(PlayerbotAI* ai, const ItemTemplate*
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_sell", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_sell", placeholders),
|
||||
{ {TO_TRADE, 90}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -824,24 +824,24 @@ bool BroadcastHelper::BroadcastSuggestSell(PlayerbotAI* ai, const ItemTemplate*
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestSomething(PlayerbotAI* ai, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestSomething)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestSomething)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
placeholders["%my_role"] = ChatHelper::FormatClass(bot, AiFactory::GetPlayerSpecTab(bot));
|
||||
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_something", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_something", placeholders),
|
||||
{ {TO_GUILD, 10}, {TO_WORLD, 70}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -851,29 +851,29 @@ bool BroadcastHelper::BroadcastSuggestSomething(PlayerbotAI* ai, Player* bot)
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestSomethingToxic(PlayerbotAI* ai, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestSomethingToxic)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestSomethingToxic)
|
||||
{
|
||||
//items
|
||||
std::vector<Item*> botItems = ai->GetInventoryAndEquippedItems();
|
||||
|
||||
std::map<std::string, std::string> placeholders;
|
||||
|
||||
placeholders["%random_inventory_item_link"] = botItems.size() > 0 ? ai->GetChatHelper()->FormatItem(botItems[rand() % botItems.size()]->GetTemplate()) : BOT_TEXT1("string_empty_link");
|
||||
placeholders["%random_inventory_item_link"] = botItems.size() > 0 ? ai->GetChatHelper()->FormatItem(botItems[rand() % botItems.size()]->GetTemplate()) : PlayerbotTextMgr::instance().GetBotText("string_empty_link");
|
||||
|
||||
placeholders["%my_role"] = ChatHelper::FormatClass(bot, AiFactory::GetPlayerSpecTab(bot));
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_something_toxic", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_something_toxic", placeholders),
|
||||
{ {TO_GUILD, 10}, {TO_WORLD, 70}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -883,9 +883,9 @@ bool BroadcastHelper::BroadcastSuggestSomethingToxic(PlayerbotAI* ai, Player* bo
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestToxicLinks(PlayerbotAI* ai, Player* bot)
|
||||
{
|
||||
if (!sPlayerbotAIConfig->enableBroadcasts)
|
||||
if (!sPlayerbotAIConfig.enableBroadcasts)
|
||||
return false;
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestToxicLinks)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestToxicLinks)
|
||||
{
|
||||
//quests
|
||||
std::vector<uint32> incompleteQuests;
|
||||
@@ -908,8 +908,8 @@ bool BroadcastHelper::BroadcastSuggestToxicLinks(PlayerbotAI* ai, Player* bot)
|
||||
|
||||
std::map<std::string, std::string> placeholders;
|
||||
|
||||
placeholders["%random_inventory_item_link"] = botItems.size() > 0 ? ai->GetChatHelper()->FormatItem(botItems[rand() % botItems.size()]->GetTemplate()) : BOT_TEXT1("string_empty_link");
|
||||
placeholders["%prefix"] = sPlayerbotAIConfig->toxicLinksPrefix;
|
||||
placeholders["%random_inventory_item_link"] = botItems.size() > 0 ? ai->GetChatHelper()->FormatItem(botItems[rand() % botItems.size()]->GetTemplate()) : PlayerbotTextMgr::instance().GetBotText("string_empty_link");
|
||||
placeholders["%prefix"] = sPlayerbotAIConfig.toxicLinksPrefix;
|
||||
|
||||
if (incompleteQuests.size() > 0)
|
||||
{
|
||||
@@ -924,15 +924,15 @@ bool BroadcastHelper::BroadcastSuggestToxicLinks(PlayerbotAI* ai, Player* bot)
|
||||
placeholders["%my_role"] = ChatHelper::FormatClass(bot, AiFactory::GetPlayerSpecTab(bot));
|
||||
AreaTableEntry const* current_area = ai->GetCurrentArea();
|
||||
AreaTableEntry const* current_zone = ai->GetCurrentZone();
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : BOT_TEXT1("string_unknown_area");
|
||||
placeholders["%area_name"] = current_area ? ai->GetLocalizedAreaName(current_area) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%zone_name"] = current_zone ? ai->GetLocalizedAreaName(current_zone) : PlayerbotTextMgr::instance().GetBotText("string_unknown_area");
|
||||
placeholders["%my_class"] = ai->GetChatHelper()->FormatClass(bot->getClass());
|
||||
placeholders["%my_race"] = ai->GetChatHelper()->FormatRace(bot->getRace());
|
||||
placeholders["%my_level"] = std::to_string(bot->GetLevel());
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("suggest_toxic_links", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("suggest_toxic_links", placeholders),
|
||||
{ {TO_GUILD, 10}, {TO_WORLD, 70}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
@@ -942,7 +942,7 @@ bool BroadcastHelper::BroadcastSuggestToxicLinks(PlayerbotAI* ai, Player* bot)
|
||||
|
||||
bool BroadcastHelper::BroadcastSuggestThunderfury(PlayerbotAI* ai, Player* bot)
|
||||
{
|
||||
if (urand(1, sPlayerbotAIConfig->broadcastChanceMaxValue) <= sPlayerbotAIConfig->broadcastChanceSuggestThunderfury)
|
||||
if (urand(1, sPlayerbotAIConfig.broadcastChanceMaxValue) <= sPlayerbotAIConfig.broadcastChanceSuggestThunderfury)
|
||||
{
|
||||
std::map<std::string, std::string> placeholders;
|
||||
ItemTemplate const* thunderfuryProto = sObjectMgr->GetItemTemplate(19019);
|
||||
@@ -950,7 +950,7 @@ bool BroadcastHelper::BroadcastSuggestThunderfury(PlayerbotAI* ai, Player* bot)
|
||||
|
||||
return BroadcastToChannelWithGlobalChance(
|
||||
ai,
|
||||
BOT_TEXT2("thunderfury_spam", placeholders),
|
||||
PlayerbotTextMgr::instance().GetBotText("thunderfury_spam", placeholders),
|
||||
{ {TO_WORLD, 70}, {TO_GENERAL, 100} }
|
||||
);
|
||||
}
|
||||
|
||||
@@ -145,4 +145,4 @@ public:
|
||||
PlayerbotAI* ai,
|
||||
Player* bot
|
||||
);
|
||||
};
|
||||
};
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
*/
|
||||
|
||||
#include "ServerFacade.h"
|
||||
#include "Player.h"
|
||||
|
||||
#include "Playerbots.h"
|
||||
#include "TargetedMovementGenerator.h"
|
||||
|
||||
float ServerFacade::GetDistance2d(Unit* unit, WorldObject* wo)
|
||||
@@ -25,13 +25,13 @@ float ServerFacade::GetDistance2d(Unit* unit, float x, float y)
|
||||
|
||||
bool ServerFacade::IsDistanceLessThan(float dist1, float dist2)
|
||||
{
|
||||
// return dist1 - dist2 < sPlayerbotAIConfig->targetPosRecalcDistance;
|
||||
// return dist1 - dist2 < sPlayerbotAIConfig.targetPosRecalcDistance;
|
||||
return dist1 < dist2;
|
||||
}
|
||||
|
||||
bool ServerFacade::IsDistanceGreaterThan(float dist1, float dist2)
|
||||
{
|
||||
// return dist1 - dist2 > sPlayerbotAIConfig->targetPosRecalcDistance;
|
||||
// return dist1 - dist2 > sPlayerbotAIConfig.targetPosRecalcDistance;
|
||||
return dist1 > dist2;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@
|
||||
#ifndef _PLAYERBOT_SERVERFACADE_H
|
||||
#define _PLAYERBOT_SERVERFACADE_H
|
||||
|
||||
#include "Common.h"
|
||||
|
||||
class Player;
|
||||
class Unit;
|
||||
class WorldObject;
|
||||
@@ -29,12 +27,13 @@ public:
|
||||
/**
|
||||
* @brief Get singleton instance.
|
||||
*
|
||||
* @return ServerFacade* Pointer to the singleton instance.
|
||||
* @return ServerFacade& Reference to the singleton instance.
|
||||
*/
|
||||
static ServerFacade* instance()
|
||||
static ServerFacade& instance()
|
||||
{
|
||||
static ServerFacade instance;
|
||||
return &instance;
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
public:
|
||||
@@ -123,7 +122,4 @@ public:
|
||||
void SendPacket(Player* player, WorldPacket* packet);
|
||||
};
|
||||
|
||||
/** Global singleton accessor. */
|
||||
#define sServerFacade ServerFacade::instance()
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user