mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-06-20 15:39:25 +02:00
<!-- Thank you for contributing to mod-playerbots, please make sure that you... 1. Submit your PR to the test-staging branch, not master. 2. Read the guidelines below before submitting. 3. Don't delete parts of this template. DESIGN PHILOSOPHY: We prioritize STABILITY, PERFORMANCE, AND PREDICTABILITY over behavioral realism. Every action and decision executes PER BOT AND PER TRIGGER. Small increases in logic complexity scale poorly across thousands of bots and negatively affect all. We prioritize a stable system over a smarter one. Bots don't need to behave perfectly; believable behavior is the goal, not human simulation. Default behavior must be cheap in processing; expensive behavior must be opt-in. Before submitting, make sure your changes aligns with these principles. --> ## Pull Request Description <!-- Describe what this change does and why it is needed --> Hello playerbots community! I have been working diligently whilst on vacation to help get pvp gear up and running for pvp specs. Throughout this process, I have looked at our current autogear system, tested it through and through, and made some changes to make gearing more appropriate per spec. _I am going to have my description of the changes in italics_, **and the AI description overview will be bolded.** Let's begin! **This PR makes some improvements to the bot autogear system across item scoring, spec tracking(pvp specs and gear), and stat weights. Changes are split between those that are always active and those controlled by new config options.** **Mandatory Changes:** **PvP Spec Detection (IsSpecPvp) A new method RandomPlayerbotMgr::IsSpecPvp(botGuid, cls) checks the bot's stored specNo against the spec name string defined in config. If the name contains "pvp", the bot is treated as a PvP spec throughout the entire gear pipeline. This is the single source of truth used by both InitEquipment() and ItemUsageValue. In the future this detection can be expanded to drive bot behavior decisions — such as prioritizing dueling players in the world, joining Wintergrasp, or preferring BG and Arena queues over PvE content.** _This is scalable, so if someone were to create their own pvp spec in the config, it would still be tracked if the name contains "pvp". I like the idea of pvp specced random bots having an identifier for pvp events._ **PvP Weights Applied During Loot Evaluation ItemUsageValue::QueryItemUsageForEquip() now calls IsSpecPvp() before scoring a looted item. If the bot is on a PvP spec, it passes SetPvpSpec(true) to the StatsWeightCalculator, ensuring looted items are evaluated with PvP stat priorities (including resilience weighting) rather than PvE weights. Previously, a PvP-specced bot would score loot identically to a PvE bot.** _So, during autogear and upgrade equips, pvp specced bots will now heavily prioritize resilience. On the flip side, pve bots really don't want resilience gear, so a negative weight modifier (penalty for resilience items) has been applied to pve autogearing and upgrade equips. This is important, because you can switch a bot from a pve spec to a pvp spec, and it will automatically consider resilience items in it's inventory as upgrades, and equip them. Same for when you switch a bot from a pvp spec back to a pve spec - the resilience penalty will encourage the bot to switch back to the best available pve gear._ **Resilience Weighting After all per-spec weights are generated in GenerateBasicWeights(), a global resilience modifier is applied unconditionally:** **PvP specs: +7.0 resilience weight — strongly prioritizes resilience gear Non-PvP specs: −3.0 resilience weight — actively discourages resilience gear Resilience is additionally excluded entirely from trinket slot scoring via SetExcludeResilience(true), preventing the PvP resilience bonus from inflating the scores of non-CC trinkets.** _I tried several different numbers here - as high as 10 and as low as 3 for resilience. I ended up with 7 so nearly all specs will slot resilience in every slot EXCEPT for trinkets. I stopped weighing resilience on trinkets because they ended up being garbage trinkets for the most part - other endgame pve trinkets were way more impactful. In my testing, the only class/specs that wont use 100% resilience gears are the tanks, since defense rating/parry/block/dodge weights are so high._ **CC-Break Trinket Cache At server startup, PlayerbotFactory::BuildCcBreakTrinketCache() queries the world database for all trinkets (InventoryType=12, Quality≥2) whose spell IDs include spell 42292 — the CC-break / PvP trinket effect shared by items like Medallion of the Alliance/Horde. Results are sorted by item level descending and cached in a static vector, ready for fast lookup during gearing.** _This creates a cache of cc trinkets on startup, for this:_ **CC-Break Trinket Force-Equip During InitEquipment(), PvP-specced bots at level 50 or higher (level minimum for autogear to apply trinkets) run a pre-selection pass over ccBreakTrinketCache to find the best CC-break trinket they meet the level requirement and quality limit for. Human and Undead bots are excluded from this — they have racial abilities (Every Man for Himself, Will of the Forsaken) that share the PvP trinket cooldown, making a dedicated trinket redundant.** **If a suitable trinket is found, it is stored as pvpTrinket1 and force-equipped into TRINKET1 before the main gear loop runs. If an item already occupies the slot, it is moved to bags first. The second-chance pass also skips TRINKET1 when pvpTrinket1 is set, so the CC trinket is never overwritten.** _This is the catch-all forced pvp trinket for trinket slot 1. In my testing, I really found out how few cc trinkets there are - most of them are epic, and blue ones start showing up super late in the game. An heirloom patch would really help the lower levels, being able to equip a pvp trinket at level 10 or something. Keep in mind, that if your bot isn't getting a pvp trinket with autogear, make sure they aren't human or undead, and check your config for what quality items are allowed with autogear. NOTE - PVP TRINKET STRATEGIES ARE NOT CURRENTLY CODED, SAME WITH CC RACIALS. They will not break out of stun/cc currently. This is for future updates if/when I make a trinketstrategy._ **Enhancement Shaman Dual Wield Fix Classes like Rogues, Frost DKs, and Fury Warriors have their dual wield capability established through class initialization code in the core. Enhancement Shamans acquire Dual Wield only through a specific talent (spell 30798, learned around level 40), and the bot factory had no code to detect and apply this. The result was that Enhancement Shaman bots would sometimes have their offhand weapon unequipped — despite having the talent. After talents are applied in both InitTalentsTree() and InitTalentsBySpecNo(), the code now checks for spell 30798 and explicitly grants SKILL_DUAL_WIELD and SetCanDualWield(true) when present.** _When testing the weapon speed preferences, I noticed that randombot enhancement shamans were unequipping their offhand randomly. They would just walk around with a single 1-hand weapon. This is because they were not considered in the system as dual wielding, so when initequipment or autoequipupgrades was ran, it would unequip the offhand through a function, despite having the dual wield talent. Looking at the code, the other classes already have this flag (warriors, rogues, dks, hunters) because they didn't acquire it through talents._ **CalculateItem() Slot Awareness StatsWeightCalculator::CalculateItem() now accepts an optional slot parameter (default -1). When provided and the item is a weapon, ApplyWeaponSpeedGovernance() can be called. Both item scoring calls inside InitEquipment() — the candidate scoring loop and the incremental old-item comparison — now pass the current equipment slot.** _This change allows the calculate item function to know what slot it's working with, and that's how it modifies it's decision making for some of the optional features below._ **Holy Paladin Weapon Scoring Fix Prior to this change, Holy Paladin could end up equipping 2H weapons because haste and crit sticks (2H weapons) were outscoring appropriate 1H caster weapons — the item type penalty was not catching them correctly. Holy Paladin is now explicitly added to the dual-wield penalty group (preventing 2H weapons from being viable), excluded from the generic caster 1H penalty (since they use 1H + shield rather than a staff), and given a 0.8x soft preference for 1H weapons.** _In autogear testing, sometimes 2h weps with high crit/haste would win over caster gear - this is especially noticeable at lower levels, with shallower item pools (greens only). You'd hit autogear and the holy paladin would equip a 2h axe with crit :( So this makes it so holy paladins only use 1h weapons. They can use either a shield or an offhand, depending on stat weights._ **PvP Spec Slots Added for All Classes The existing RandomClassSpecProb / RandomClassSpecIndex config entries control what percentage of random bots in the world are assigned each spec. Previously only PvE specs (indices 0–2, or 0–3 for Druids) were defined, giving server operators no way to introduce PvP-specced random bots into the world population. This PR adds PvP spec slots for every class (indices 3–6 depending on class), all defaulting to 0 probability. Server operators can raise these values to spawn PvP-specced random bots — e.g., setting RandomClassSpecProb.1.3 = 20 would make 20% of Warrior bots run Arms PvP. Two additional PvE specs have also been added: Death Knight index 3: Double-aura Blood (a hybrid Blood/Frost PvE tank variant) Mage index 3: Frostfire (a PvE hybrid spec) All existing spec entries have been annotated with comments identifying each one (e.g., # arms pve, # holy pve) for readability.** _This change was actually added at the start - I realized that there was no way for pvp-specced randombots to spawn naturally, so I added optional probabilities to the config. They are currently set at 0% by default, but giving the user the option I feel is necessary. Also, it would have been impossible for me to test the init on randombots with pvp gear otherwise. Also, I noticed that the frostfire mage and the dual-aura dk didn't have an option, so I added them in as well, as well as names above each option for quality of life._ **Stat Weight Corrections The following per-spec stat weights were adjusted to better reflect actual WotLK priorities. Entries marked NEW did not previously exist; unmarked rows show old → new values.** <img width="795" height="268" alt="arms warrior" src="https://github.com/user-attachments/assets/cb0deb00-a985-432d-81a1-133fc953088b" /> _Arms warriors would prefer leather/ap gear about half of the time - the combined weights of both would often beat strength gear, especially at lower levels, or where the item pool was shallow. Also, they continued to spawn with spell power gear and defense gear occasionally, especially on gear with resilience (resilience, spell power, crit, haste, stam items)._ <img width="796" height="301" alt="fury warrior" src="https://github.com/user-attachments/assets/715ff3a3-3d20-4e0e-a953-7ed6fd9386db" /> _Fury warriors had the same issues as arms warrior, but really can't afford to lose a strength item - beserker stance increases strength by 20%. Also had to reduce haste here because haste really isn't nearly as important as strength, crit, arp. Haste items would win often over strength/crit/arp gear._ <img width="796" height="300" alt="prot tanks" src="https://github.com/user-attachments/assets/624de09a-2506-4aee-95aa-c49cbc5b85d3" /> _So, prot paladins and prot warriors currently are weighed identically fyi. Look at that whopping 2.0 agility - twice as important as strength? I noticed that my prot paladins/warriors were equipping agility/haste/crit items instead of defense gear on their neck, rings, trinkets, and back. This adjustment pretty much ensures that defense gear takes those slots if it's available. Removed the crit/haste weightings, because realistically if a tank wants more damage, it will just get strength. Lastly added the spell power penalty because prot paladins would spawn in fully holy gear if they were pvp specced (resilience is weighted so high, resilience/spellpower/stam/haste gear would often win). This aims to prevent that._ <img width="802" height="421" alt="dps dks" src="https://github.com/user-attachments/assets/371d1344-2382-4460-b3a7-f38b33025b73" /> _Same issue with plate dps as the warriors had. Spell power gear would occasionally spawn on crit/hit items in pve, and a ton of spell power resilience gear would spawn. There is no scenario where a DK wants spell power, this isn't patch 3.0.1..._ <img width="796" height="447" alt="blood dk" src="https://github.com/user-attachments/assets/c84a2bbf-7daa-4805-acf3-cd3bf815eda4" /> _Similar issues to prot paladin/warrior. I was really tired of seeing block rating/value gear as a result of getting gear with defense/stam. This results in a lot more defense rating/expertise/hit/dodge/parry gear, and basically makes shield stats nearly non-existent (unless the upgrade is good enough, it could still win)_ <img width="794" height="226" alt="ret paladin" src="https://github.com/user-attachments/assets/b09f40ed-b25f-4945-940c-2ce92f81c7c4" /> _Prior to this PR, the positive spellpower and int weights were enough for ret paladins to spawn with spellpower/int/haste/crit gear. This is unlikely now. And agility/ap was reduced to favor more strength gear._ <img width="795" height="306" alt="Enhancement Shaman" src="https://github.com/user-attachments/assets/1e5231fd-36ea-4b7e-a546-cf0075d17bd4" /> _While spell power is a decent stat on enhancment shamans, it was appearing on too much gear, especially on items that were haste/crit/spell power. And for elemental shamans, they were getting agi/haste/crit gear, so this aims to get rid of those items entirely without reducing haste/crit._ <img width="800" height="119" alt="shaman pally" src="https://github.com/user-attachments/assets/6ea3300a-effd-4a03-8f6f-4ae13c5383a5" /> _Holy paladins and resto shamans are scored the same, but this prevents attack power/haste/crit gear, since haste and crit are weighted high._ <img width="1025" height="385" alt="mage" src="https://github.com/user-attachments/assets/03191dfd-dc09-477d-8424-8fd56f3e0d71" /> _Prevents mages from equipping/autogearing items with attack power, some attack power/crit/haste/hit items were winning with shallow item pools._ <img width="1022" height="502" alt="hunter rogue" src="https://github.com/user-attachments/assets/06fa67c9-7709-4ee8-a0e2-34de18594018" /> _Prevents hunters and rogues from getting spell power leather gear with hit/crit. Crit is very heavy for hunters so this was decently common._ **Optional Changes (Config-Controlled)** **AiPlayerbot.PreferClassArmorType (default: 0) Applies a 3x score multiplier to armor matching the bot's class-appropriate type (plate/mail/leather/cloth). A significantly better off-type item can still win — this is a soft preference, not a hard filter.** _Are you tired of your fury warrior being a leather daddy? Are you tired of your holy paladin running around in cloth lingerie? This will fix that. For mail classes (hunters/shamans) and plate classes, this only kicks in after level 40. But it really helps adhere to the highest armor class available. This would be the perfect solution to the quarterly question "Why is my paladin wearing leather?". This definitely should remain optional, as quite a few BIS lists would disagree with it. Leather at certain stages is great for hunters/shamans/warriors/dks._ **AiPlayerbot.AutogearAllowsQuestRewards (default: 0) Builds a cache of equippable armor and weapon quest rewards at startup. Bots can then equip these items during autogear, using the quest's minimum level as the effective required level gate.** _So, I noticed that autogear didn't allow items without a level requirement (quest rewards), because it didn't know how to handle that when giving out gear. It would previously just flat out reject all quest rewards, as they wouldn't be a part of the item pool. This option enables quest rewards to be considered in the item pool, and the level correlates to the lowest level you could get the quest. I have tested this for about 3 hours across all specs and using blue/green gear, it seems like a really nice bonus. Keep in mind that I do 0 quests on my way to 80, so players like me could still benefit from those items. I think this should remain optional._ **AiPlayerbot.EquipAllSlotsAtAnyLevel (default: 0) Bypasses the low-level slot restrictions in InitEquipment(): Trinkets normally locked until level 50 Head/Neck until level 30 Rings until level 20 All other non-weapon slots until level 5** _Autogear currently has level floors for slots - they will not ever give items below the above thresholds. This config option bypasses that. I have not tested this as much as I should have, so as people test this, they could let us know of items that should be blacklisted._ **AiPlayerbot.WeaponSpeedGovernance (default: 0) When enabled, ApplyWeaponSpeedGovernance() applies a 3x score multiplier to weapons matching the spec's ideal attack speed profile. Applies to mainhand, offhand, and ranged slots only. Per-spec preferences: Arms Warrior: Slow 2H (>=3400ms) in mainhand; poleaxes and axes preferred (Axe Specialization) Ret Paladin / Blood & Unholy DK: Slow 2H (>=3400ms) in mainhand Prot Warrior & Paladin: Slow 1H (>=2600ms) in mainhand Fury Warrior dual wield: Slow 1H (>=2600ms) in both hands Fury Warrior titan's grip: Slow 2H (>=3400ms) in both hands Frost DK: Slow 1H (>=2600ms) in both hands; 2H excluded Enhancement Shaman (dual wield): Slow 1H (>=2600ms) in both hands; synchronized MH/OH speeds for flurry procs Enhancement Shaman (pre-dual wield): Slow 2H (>=3400ms) in mainhand Combat Rogue: Slow MH (>=2600ms) + Fast OH (<=1500ms) Assassination / Subtlety Rogue: Slow dagger MH (>=1700ms) + Fast dagger OH (<=1500ms) Hunter: Slow ranged (>=2600ms); melee is a stat stick, speed ignored Feral Druid: No preference (forms normalize attack speed)** _Besides pvp gearing for pvp specs, I feel like this is one of the nicest additions. It was really frustrating to see an enhancement shaman put windfury on a 1.5 dagger. Without this, weights for melee dps are calculated on dps alone, not weapon speed. You'll see 2h specs use fast 2h weapons (3.0), rogues use 2 fast weapons or slow weapons, frost dks occasionally using 2h weapons while having dual wield talents. I tested this for about 6 hours across all mentioned specs at levels 20, 30, 40, 50, 60, 65, 70, 75, and 80, with 3 quality types (greens, blues, purples). I would actually consider making this mandatory, simply because of the impact I saw in the dps charts. Super happy and proud of this._ <img width="1021" height="470" alt="files changes" src="https://github.com/user-attachments/assets/f55d955c-8760-4adf-b4d9-84797da2dc65" /> ## Feature Evaluation <!-- If your PR is very minimal (comment typo, wrong ID reference, etc), and it is very obvious it will not have any impact on performance, you may skip these question. If necessary, a maintainer may ask you for them later. --> <!-- Please answer the following: --> - Describe the **minimum logic** required to achieve the intended behavior. _Two caches are built upon startup - the pvp trinket cache and the quest reward cache. From there, this directly modifies the stat weight calculations involving initequipement (autogear) and autoequipupgrades, as both go off of stat weight calculations. I tried to implement these changes with as little custom functions and coding as possible, and relied as much as I could on the pre-existing framework._ - Describe the **processing cost** when this logic executes across many bots. _Fortunately most of the gates are boolean so it shouldn't impact performance much at all. I ran these changes on my local server with stock 500 bots, noticed no pmon difference from the main branch. Did a 24h stress test on my server yesterday, stats looked consistent with the stress test I did prior to making any changes on 3-31-26._ _It helps that it uses pre-existing functions such as initequipment and autoequipupgrades, and it really just modifies them with slightly more logic. That being said, autogear didn't lag my server at all, nor did the bots equipping upgrades._ ## How to Test the Changes <!-- - Step-by-step instructions to test the change. - Any required setup (e.g. multiple players, number of bots, specific configuration). - Expected behavior and how to verify it. --> _So, with the basic stock playerbots config (do not forget to copy the new config!), the only thing that should change is the pvp gear appearing on pvp specs, and the classes preferring more appropriate stats across the board. You can load into the game, level a bot to 20, autogear, and notice the difference. Same at level 40, 60, 75, or whatever. You could add in the optional config settings to further streamline the gear you want. I currently run with all 4 enabled, 2 of which increase the item pool, and 2 of which help guide them to more appropriate gear (armor/weps)._ ## Impact Assessment <!-- As a generic test, before and after measure of pmon (playerbot pmon tick) can help you here. --> - Does this change increase per-bot/per-tick processing or risk scaling poorly with thousands of bots? - - [x] No, not at all - - [ ] Minimal impact (**explain below**) - - [ ] Moderate impact (**explain below**) _The code is only used on startup (cache generation) and when autogear/autoequipupgrades is called. Not all the time, and not per tick. I noticed no performance impact after these changes._ - Does this change modify default bot behavior? - - [ ] No - - [x] Yes (**explain why**) _It modifies the decision making as far as equipment goes, but as far as priority/strategies, this does not affect that._ - Does this change add new decision branches or increase maintenance complexity? - - [x] No - - [ ] Yes (**explain below**) _Not to my knowledge, but I'll rely on testers and the community to let me know if it does._ ## AI Assistance <!-- AI assistance is allowed, but all submitted code must be fully understood, reviewed, and owned by the contributor. We expect contributors to be honest about what they do and do not understand. --> Was AI assistance used while working on this change? - - [ ] No - - [x] Yes (**explain below**) <!-- If yes, please specify: - Purpose of usage (e.g. brainstorming, refactoring, documentation, code generation). - Which parts of the change were influenced or generated, and whether it was thoroughly reviewed. --> _AI was used in the research of the initequipment system, stat weights, and cache building. As far as generating the code, using AI was 2 steps forward, 1 step back. I used Claude Code with Sonnet 4.6 (high) and had gemini/copilot review the work. **AI did generate a large portion of the code being used.** I have personally reviewed every line, and a lot was removed out of being obsolete/new system that copied an old one/too many comments. I don't think anything else can be trimmed, though. I also used AI in the PR description, and made my own comments in italics below each entry. I hate explaining/writing._ <!-- TRANSLATIONS: Anything new that the bots say in chat must be in a translatable format. This is done using GetBotTextOrDefault, which you can search for in the codebase to find examples. Your code needs to have English as the default fallback, while the full translations need to be in an SQL update file. The languages in the file are the nine language options supported by AzerothCore: English, Korean, French, German, Chinese, Taiwanese, Spanish, Spanish Mexico, and Russian. See data/sql/playerbots/updates/2025_12_27_ai_playerbot_fishing_text.sql as an example of a translation SQL update, whose content are called within the codebase at src/strategy/actions/FishingAction.cpp --> ## Final Checklist - - [x] Stability is not compromised. - - [x] Performance impact is understood, tested, and acceptable. - - [x] Added logic complexity is justified and explained. - - [x] Any new bot dialogue lines are translated. - - [x] Documentation updated if needed (Conf comments, WiKi commands). ## Notes for Reviewers <!-- Anything else that's helpful to review or test your pull request. --> _I would like atleast 5-10 people to review this over the next 1-6 months. The big problem I used to have with my PRs was I was acting like they were a sprint, when it's really a marathon - good changes take time, and I was too quick to bust out new content. The old PRs I made introduced just as many new bugs as they did features. I learned my lesson, and have tested this extensively (code was pretty much complete on 4-10-26, been testing alone for the last 11 days) and it's ready for the test realm for others to try out. I think it's going to be a good step forward when it comes to gear decision making for bots as a whole. PvPers have come and gone too much from this project due to the lack of options, and this helps captivate that audience. Please reach out to me on discord at Zhur#4391, I am happy to hear results/suggestions there as well as here._ --------- Co-authored-by: Keleborn <22352763+Celandriel@users.noreply.github.com>
2435 lines
96 KiB
Plaintext
2435 lines
96 KiB
Plaintext
##################################################
|
||
# PLAYERBOTS CONFIGURATION FILE #
|
||
##################################################
|
||
|
||
# Overview
|
||
# "Randombot": randomly generated bots that log in separately from players and populate the world. Randombots may automatically grind, quest, level up, and upgrade equipment and can be invited to groups and given commands.
|
||
# "AddClass bot": bots from the AddClassAccountPoolSize accounts. They are used for quickly adding a leveled and geared bot of any class to your party. They are recommended for a quick formation of a party.
|
||
# "Altbot": characters created on player accounts, which may be logged in by the player and invited to groups and given commands like randombots. They are best suited for long-progression playthroughs.
|
||
# Information about commands to control bots and set their strategies can be found on the wiki at https://github.com/mod-playerbots/mod-playerbots/wiki/Playerbot-Commands.
|
||
|
||
####################################################################################################
|
||
# SECTION INDEX
|
||
# GENERAL SETTINGS
|
||
# PLAYERBOTS SETTINGS
|
||
# GENERAL
|
||
# SUMMON OPTIONS
|
||
# MOUNT
|
||
# GEAR
|
||
# LOOTING
|
||
# TIMERS
|
||
# DISTANCES
|
||
# THRESHOLDS
|
||
# QUESTS
|
||
# COMBAT
|
||
# GREATER BUFFS STRATEGIES
|
||
# CHEATS
|
||
# SPELLS
|
||
# FLIGHTPATH
|
||
# PROFESSIONS
|
||
# RANDOMBOT-SPECIFIC SETTINGS
|
||
# GENERAL
|
||
# LEVELS
|
||
# GEAR
|
||
# QUESTS
|
||
# ACTIVITIES
|
||
# SPELLS
|
||
# STRATEGIES
|
||
# RPG STRATEGY
|
||
# TELEPORTS
|
||
# BATTLEGROUND & ARENA & PVP
|
||
# RANDOM BOT TIMING AND BEHAVIOR
|
||
# PREMADE SPECS
|
||
# INFORMATION
|
||
# WARRIOR
|
||
# PALADIN
|
||
# HUNTER
|
||
# ROGUE
|
||
# PRIEST
|
||
# DEATH KNIGHT
|
||
# SHAMAN
|
||
# MAGE
|
||
# WARLOCK
|
||
# DRUID
|
||
# RANDOMBOT DEFAULT TALENT SPECS
|
||
# WARRIOR
|
||
# PALADIN
|
||
# HUNTER
|
||
# ROGUE
|
||
# PRIEST
|
||
# DEATH KNIGHT
|
||
# SHAMAN
|
||
# MAGE
|
||
# WARLOCK
|
||
# DRUID
|
||
# PLAYERBOTS SYSTEM SETTINGS
|
||
# DATABASE & CONNECTIONS
|
||
# DEBUG
|
||
# CHAT SETTINGS
|
||
# LOGS
|
||
# DEPRECIATED (TEMPORARY)
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
###################################
|
||
# #
|
||
# GENERAL SETTINGS #
|
||
# #
|
||
###################################
|
||
|
||
####################################################################################################
|
||
|
||
# Enable or disable Playerbots module
|
||
AiPlayerbot.Enabled = 1
|
||
|
||
# Enable randombot system
|
||
AiPlayerbot.RandomBotAutologin = 1
|
||
|
||
# Randombot count
|
||
AiPlayerbot.MinRandomBots = 500
|
||
AiPlayerbot.MaxRandomBots = 500
|
||
|
||
# Randombot accounts
|
||
# If you are not using any expansion at all, you may have to set this manually, in which case please
|
||
# ensure that RandomBotAccountCount is at least greater than (MaxRandomBots / 10 + AddClassAccountPoolSize)
|
||
# Default: 0 (automatic)
|
||
AiPlayerbot.RandomBotAccountCount = 0
|
||
|
||
# Delete all randombot accounts
|
||
# To apply this, set the number to 1 and run the Worldserver. Once deletion is complete, if you would
|
||
# like to recreate randombots, set the number back to 0 and rerun the Worldserver.
|
||
AiPlayerbot.DeleteRandomBotAccounts = 0
|
||
|
||
# Disable randombots when no real players are logged in
|
||
# Default: 0 (randombots will login when server starts)
|
||
# If enabled, randombots will only log in 30 seconds (default) after a real player logs in, and will
|
||
# log out 300 seconds (default) after all real players log out
|
||
AiPlayerbot.DisabledWithoutRealPlayer = 0
|
||
AiPlayerbot.DisabledWithoutRealPlayerLoginDelay = 30
|
||
AiPlayerbot.DisabledWithoutRealPlayerLogoutDelay = 300
|
||
|
||
####################################################################################################
|
||
|
||
###################################
|
||
# #
|
||
# PLAYERBOTS SETTINGS #
|
||
# #
|
||
###################################
|
||
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# GENERAL
|
||
#
|
||
#
|
||
|
||
# The maximum number of bots that a player can control simultaneously
|
||
AiPlayerbot.MaxAddedBots = 40
|
||
|
||
# Enable/Disable creating bots by addclass command (0 = GM only, 1 = enabled)
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AddClassCommand = 1
|
||
|
||
# Set the addclass command account pool size
|
||
AiPlayerbot.AddClassAccountPoolSize = 50
|
||
|
||
# Bot group invitation permission level (0 = GM only, 1 = accept based on level, 2 = always accept)
|
||
# Default: 1 (accept based on level)
|
||
AiPlayerbot.GroupInvitationPermission = 1
|
||
|
||
# Keep alt bots in the party even when the master leaves
|
||
# 0 = disabled (default behavior)
|
||
# 1 = enabled (prevents bots from automatically leaving the group)
|
||
AiPlayerbot.KeepAltsInGroup = 0
|
||
|
||
# Auto-login all player alts as altbots on player login
|
||
AiPlayerbot.BotAutologin = 0
|
||
|
||
# Allow/deny inviting altbots from the player's account
|
||
AiPlayerbot.AllowAccountBots = 1
|
||
|
||
# Allow/deny inviting altbots in the player's guild
|
||
AiPlayerbot.AllowGuildBots = 1
|
||
|
||
# Allow linking accounts for shared altbot control
|
||
AiPlayerbot.AllowTrustedAccountBots = 1
|
||
|
||
# Randombots will create guilds with nearby randombots
|
||
# Note: currently, randombots will not invite more bots after a guild is created,
|
||
# meaning randombot guilds will have only the 10 initial randombots needed to sign the charter
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.RandomBotGuildNearby = 0
|
||
|
||
# Number of guilds created by randombots
|
||
AiPlayerbot.RandomBotGuildCount = 20
|
||
|
||
# Maximum number of members in randombot guilds (minimum is hardcoded to 10)
|
||
AiPlayerbot.RandomBotGuildSizeMax = 15
|
||
|
||
# Delete all randombot guilds if set to 1
|
||
AiPlayerbot.DeleteRandomBotGuilds = 0
|
||
|
||
# Randombots will invite players to groups/raids/guilds
|
||
AiPlayerbot.RandomBotInvitePlayer = 0
|
||
|
||
# Bots will chat in say/guild when they invite other bots to groups/raids/guilds
|
||
AiPlayerbot.InviteChat = 0
|
||
|
||
# Bots will be automatically summoned to the player when they accept a group invitation
|
||
AiPlayerbot.SummonWhenGroup = 1
|
||
|
||
# Player can be activated as a bot (selfbot)
|
||
# Selfbot permission level (0 = disabled, 1 = GM only (default), 2 = all players, 3 = activate on login)
|
||
AiPlayerbot.SelfBotLevel = 1
|
||
|
||
# Non-GM player can only use init=auto to initialize bots based on their own level and gearscore
|
||
# Default: 0 (non-GM player can use any intialization commands)
|
||
AiPlayerbot.AutoInitOnly = 0
|
||
|
||
# The upper limit ratio of bot equipment level for init=auto
|
||
# Default: 1.0 (same with the player)
|
||
AiPlayerbot.AutoInitEquipLevelLimitRatio = 1.0
|
||
|
||
#
|
||
# AllowLearnTrainerSpells
|
||
# Description: Allow the bot to learn trainers' spells as long as it has the money.
|
||
# Default: 1 - (Enabled)
|
||
# 0 - (Disabled)
|
||
AiPlayerbot.AllowLearnTrainerSpells = 1
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# SUMMON OPTIONS
|
||
#
|
||
#
|
||
|
||
# Enable/Disable summoning bots when the master is in combat
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AllowSummonInCombat = 1
|
||
|
||
# Enable/Disable summoning bots when the master is dead
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AllowSummonWhenMasterIsDead = 1
|
||
|
||
# Enable/Disable summoning bots when they are dead (0 = only when the bots are ghosts, 1 = always)
|
||
# Default: 1 (always)
|
||
AiPlayerbot.AllowSummonWhenBotIsDead = 1
|
||
|
||
# Enable/Disable reviving bots when summoning them (0 = disabled, 1 = disabled in combat, 2 = enabled)
|
||
# Default: 1 (disabled in combat)
|
||
AiPlayerbot.ReviveBotWhenSummoned = 1
|
||
|
||
# Enable/Disable bots repairing gear when summoned
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.BotRepairWhenSummon = 1
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# MOUNT
|
||
#
|
||
#
|
||
|
||
# Defines at what level a bot will naturally use its 60% ground mount
|
||
# Note: was level 20 during WotLK, 30 during TBC, 40 during Vanilla
|
||
# Default: 20
|
||
AiPlayerbot.UseGroundMountAtMinLevel = 20
|
||
|
||
# Defines at what level a bot will naturally use its 100% fast ground mount
|
||
# Note: was level 40 during WotLK, 60 during Vanilla
|
||
# Default: 40
|
||
AiPlayerbot.UseFastGroundMountAtMinLevel = 40
|
||
|
||
# Defines at what level a bot will naturally use its 150% flying mount
|
||
# Note: was level 60 during WotLK, 70 during TBC
|
||
# Default: 60
|
||
AiPlayerbot.UseFlyMountAtMinLevel = 60
|
||
|
||
# Defines at what level a bot will naturally use its 280% fast flying mount
|
||
# Note: was level 70 during WotLK and TBC
|
||
# Default: 70
|
||
AiPlayerbot.UseFastFlyMountAtMinLevel = 70
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# GEAR
|
||
#
|
||
#
|
||
|
||
# Show helmet and cloak on randombots (reset required)
|
||
AiPlayerbot.RandomBotShowHelmet = 1
|
||
AiPlayerbot.RandomBotShowCloak = 1
|
||
|
||
# Toggles whether altbots will automatically equip items in their inventory that are sufficient upgrades
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoEquipUpgradeLoot = 1
|
||
|
||
# Threshold for auto equipping upgrades
|
||
# Default: 1.1 (Equip when the equipment score of the new item is 1.1 times higher than the currently equipped item)
|
||
AiPlayerbot.EquipUpgradeThreshold = 1.1
|
||
|
||
# Two rounds of equipment initialization to create more suitable gear
|
||
AiPlayerbot.TwoRoundsGearInit = 0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# LOOTING
|
||
#
|
||
#
|
||
|
||
# Bots keep looting when loot system is set to free for all
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.FreeMethodLoot = 0
|
||
|
||
# Bots' Roll level bots will use for items they Need (0 = pass, 1 = greed, 2 = need)
|
||
# Default: 1 (greed)
|
||
AiPlayerbot.LootNeedRollLevel = 1
|
||
|
||
# Enable bots to roll GREED on items (global toggle)
|
||
# If disabled, bots will PASS instead of GREED on all items
|
||
# Default: 0 (disabled - bots only NEED or PASS)
|
||
AiPlayerbot.LootGreedRollLevel = 0
|
||
|
||
# Enable bots to roll on recipes. Will NEED on learnable profession recipes they don't already know
|
||
# Bots will roll GREED on BoE recipes they can't learn if LootRollGreed is enabled.
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.LootRollRecipe = 0
|
||
|
||
# Bots with enchanting will roll DISENCHANT instead of GREED on disenchantable items
|
||
# If disabled, bots will GREED on disenchantable items instead
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.LootRollDisenchant = 0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# TIMERS
|
||
#
|
||
#
|
||
|
||
# Max AI iterations per tick
|
||
AiPlayerbot.IterationsPerTick = 10
|
||
|
||
# Delay between two short-time spells cast
|
||
AiPlayerbot.GlobalCooldown = 500
|
||
|
||
# Max wait time when moving
|
||
AiPlayerbot.MaxWaitForMove = 5000
|
||
|
||
# Enable/disable use of MoveSplinePath for bot movement
|
||
# Disabling will result in more erratic movement but is required for stuns, snares, and roots to work on bots
|
||
# Default: 0 - MoveSplinePath enabled
|
||
# 1 - MoveSplinePath disabled in BG/Arena only
|
||
# 2 - MoveSplinePath disabled everywhere
|
||
AiPlayerbot.DisableMoveSplinePath = 0
|
||
|
||
# Max search time for movement (higher for better movement on slopes)
|
||
# Default: 3
|
||
AiPlayerbot.MaxMovementSearchTime = 3
|
||
|
||
# Action expiration time
|
||
AiPlayerbot.ExpireActionTime = 5000
|
||
|
||
# Max dispel auras duration
|
||
AiPlayerbot.DispelAuraDuration = 700
|
||
|
||
# Delay between two bot actions
|
||
AiPlayerbot.ReactDelay = 100
|
||
|
||
# Dynamically adjust react delay for bots in different status to reduce server lags
|
||
AiPlayerbot.DynamicReactDelay = 1
|
||
|
||
# Inactivity delay
|
||
AiPlayerbot.PassiveDelay = 10000
|
||
|
||
# Minimum delay between repeating actions (chat messages, emotes etc)
|
||
AiPlayerbot.RepeatDelay = 2000
|
||
|
||
# Delay timers
|
||
AiPlayerbot.ErrorDelay = 100
|
||
AiPlayerbot.RpgDelay = 10000
|
||
AiPlayerbot.SitDelay = 20000
|
||
# ReturnDelay has a minimum value of 2000 - lower values will cause a crash!
|
||
AiPlayerbot.ReturnDelay = 2000
|
||
AiPlayerbot.LootDelay = 1000
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# DISTANCES
|
||
#
|
||
#
|
||
|
||
# Distances are in yards
|
||
AiPlayerbot.FarDistance = 20.0
|
||
AiPlayerbot.SightDistance = 100.0
|
||
AiPlayerbot.SpellDistance = 28.5
|
||
AiPlayerbot.ShootDistance = 5.0
|
||
AiPlayerbot.HealDistance = 38.5
|
||
AiPlayerbot.LootDistance = 15.0
|
||
AiPlayerbot.FleeDistance = 5.0
|
||
AiPlayerbot.AggroDistance = 22
|
||
AiPlayerbot.TooCloseDistance = 5.0
|
||
AiPlayerbot.MeleeDistance = 0.75
|
||
AiPlayerbot.FollowDistance = 1.5
|
||
AiPlayerbot.WhisperDistance = 6000.0
|
||
AiPlayerbot.ContactDistance = 0.45
|
||
AiPlayerbot.AoeRadius = 10
|
||
AiPlayerbot.RpgDistance = 200
|
||
AiPlayerbot.GrindDistance = 75.0
|
||
AiPlayerbot.ReactDistance = 150.0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# THRESHOLDS
|
||
#
|
||
#
|
||
|
||
# Health/Mana levels
|
||
AiPlayerbot.CriticalHealth = 25
|
||
AiPlayerbot.LowHealth = 45
|
||
AiPlayerbot.MediumHealth = 65
|
||
AiPlayerbot.AlmostFullHealth = 85
|
||
AiPlayerbot.LowMana = 15
|
||
AiPlayerbot.MediumMana = 40
|
||
AiPlayerbot.HighMana = 65
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# QUESTS
|
||
#
|
||
#
|
||
|
||
# Bots pick their quest rewards
|
||
# yes = picks the most useful item, no = list all rewards, ask = pick useful item and lists if multiple
|
||
AiPlayerbot.AutoPickReward = yes
|
||
|
||
# Sync quests with player (bots will complete quests the moment you hand them in and will not loot quest items.)
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.SyncQuestWithPlayer = 1
|
||
|
||
# Bots will auto-complete quests for the player when handing in bots' quests
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.SyncQuestForPlayer = 0
|
||
|
||
# Bots will drop obsolete quests
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.DropObsoleteQuests = 1
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# COMBAT
|
||
#
|
||
#
|
||
|
||
# Auto add dungeon/raid strategies when entering the instance if implemented
|
||
AiPlayerbot.ApplyInstanceStrategies = 1
|
||
|
||
# Enable auto avoid aoe strategy
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoAvoidAoe = 1
|
||
|
||
# Only avoid aoe spells with a radius smaller than this value
|
||
AiPlayerbot.MaxAoeAvoidRadius = 15.0
|
||
|
||
# A whitelist of aoe spell IDs that should not be avoided
|
||
AiPlayerbot.AoeAvoidSpellWhitelist = 50759,57491,13810,29946
|
||
|
||
# Enable healer bot save mana strategy
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoSaveMana = 1
|
||
|
||
# Healer bot save mana threshold
|
||
# Default: 60 (60%)
|
||
AiPlayerbot.SaveManaThreshold = 60
|
||
|
||
# Bots can flee from enemies
|
||
AiPlayerbot.FleeingEnabled = 1
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# GREATER BUFFS STRATEGIES
|
||
#
|
||
#
|
||
|
||
# Min group size to use Greater buffs (Paladin, Mage, Druid)
|
||
# Default: 3
|
||
AiPlayerbot.MinBotsForGreaterBuff = 3
|
||
|
||
# Cooldown (seconds) between reagent-missing RP warnings, per bot & per buff
|
||
# Default: 30
|
||
AiPlayerbot.RPWarningCooldown = 30
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# CHEATS
|
||
#
|
||
#
|
||
|
||
# Enable/Disable maintenance command
|
||
# Learn all available spells and skills, assign talent points, refresh consumables, repair, enchant equipment, socket gems, etc.
|
||
# Applies if bot's level is above AiPlayerbot.MinEnchantingBotLevel
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.MaintenanceCommand = 1
|
||
|
||
# Enable/Disable specific maintenance command functionality for alt bots
|
||
# Disable to prevent players from giving free bags, spells, skill levels, etc. to their alt bots
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AltMaintenanceAmmo = 1
|
||
AiPlayerbot.AltMaintenanceFood = 1
|
||
AiPlayerbot.AltMaintenanceReagents = 1
|
||
AiPlayerbot.AltMaintenanceConsumables = 1
|
||
AiPlayerbot.AltMaintenancePotions = 1
|
||
|
||
AiPlayerbot.AltMaintenanceBags = 1
|
||
AiPlayerbot.AltMaintenanceMounts = 1
|
||
AiPlayerbot.AltMaintenanceSkills = 1
|
||
|
||
# "Special Spells" consist of any spells listed in AiPlayerbot.RandomBotSpellIds and Death Gate for Death Knights
|
||
AiPlayerbot.AltMaintenanceClassSpells = 1
|
||
AiPlayerbot.AltMaintenanceAvailableSpells = 1
|
||
AiPlayerbot.AltMaintenanceSpecialSpells = 1
|
||
AiPlayerbot.AltMaintenanceTalentTree = 1
|
||
AiPlayerbot.AltMaintenanceGlyphs = 1
|
||
AiPlayerbot.AltMaintenanceGemsEnchants = 1
|
||
|
||
AiPlayerbot.AltMaintenancePet = 1
|
||
AiPlayerbot.AltMaintenancePetTalents = 1
|
||
|
||
AiPlayerbot.AltMaintenanceReputation = 1
|
||
AiPlayerbot.AltMaintenanceAttunementQuests = 1
|
||
AiPlayerbot.AltMaintenanceKeyring = 1
|
||
|
||
# Enable/Disable autogear command, which automatically upgrades bots' gear
|
||
# The quality is limited by AutoGearQualityLimit and AutoGearScoreLimit
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoGearCommand = 1
|
||
|
||
# Enable/Disable autogear command on altbots
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoGearCommandAltBots = 1
|
||
|
||
# Equipment quality limitation for autogear command (1 = normal, 2 = uncommon, 3 = rare, 4 = epic, 5 = legendary)
|
||
# Default: 3 (rare)
|
||
AiPlayerbot.AutoGearQualityLimit = 3
|
||
|
||
# Equipment item level (not gearscore) limitation for autogear command (0 = no limit)
|
||
# Classic
|
||
# Max iLVL Tier 1 = 66 | Tier 2 = 76 | Tier 2.5 = 88 | Tier 3 = 92
|
||
# Max iLVL Phase 1(MC, Ony, ZG) = 78 | Phase 2(BWL) = 83 | Phase 2.5(AQ40) = 88 | Phase 3(Naxx40) = 92
|
||
# TBC
|
||
# Max iLVL Tier 4 = 120 | Tier 5 = 133 | Tier 6 = 164
|
||
# Max iLVL Phase 1(Kara, Gruul, Mag) = 125 | Phase 2(SSC, TK, ZA) = 141 | Phase 3(Hyjal, BT) = 156 | Phase 4(Sunwell) = 164
|
||
# WotLK
|
||
# Max iLVL Tier 7(10/25) = 200/213 | Tier 8(10/25) = 225/232 | Tier 9(10/25) = 232/245 | Tier 10(10/25/HC) = 251/264/290
|
||
# Max iLVL Phase 1(Naxx) = 224 | Phase 2(Ulduar) = 245 | Phase 3(ToC) = 258 | Phase 4(ICC) = 290
|
||
# Default: 0 (no limit)
|
||
AiPlayerbot.AutoGearScoreLimit = 0
|
||
|
||
# Enable/Disable cheats for bots
|
||
# "food" (bots eat or drink without using food or drinks from their inventory)
|
||
# "gold" (bots have infinite gold)
|
||
# "health" (bots immediately regenerate lost health)
|
||
# "mana" (bots have infinite mana)
|
||
# "power" (bots have infinite energy, rage, and runic power)
|
||
# "taxi" (bots may use all flight paths, though they will not actually learn them)
|
||
# "raid" (bots use cheats implemented into raid strategies (currently only for SSC and Ulduar))
|
||
# To use multiple cheats, separate them by commas below (e.g., to enable all, use "gold,health,mana,power,raid,taxi")
|
||
# Default: food, taxi, and raid are enabled
|
||
AiPlayerbot.BotCheats = "food,taxi,raid"
|
||
|
||
# List of attunement quests (comma-separated list of quest IDs) that are automatically completed for all bots.
|
||
# While mod-playerbots does not restore removed attunement requirements, other mods, such as mod-individual-progression, may do so.
|
||
# This is meant to exclude bots from such requirements.
|
||
#
|
||
# Default:
|
||
# Caverns of Time - Part 1
|
||
# - 10279, To The Master's Lair
|
||
# - 10277, The Caverns of Time
|
||
#
|
||
# Caverns of Time - Part 2 (Escape from Durnholde Keep)
|
||
# - 10282, Old Hillsbrad
|
||
# - 10283, Taretha's Diversion
|
||
# - 10284, Escape from Durnholde
|
||
# - 10285, Return to Andormu
|
||
#
|
||
# Caverns of Time - Part 2 (The Black Morass)
|
||
# - 10296, The Black Morass
|
||
# - 10297, The Opening of the Dark Portal
|
||
# - 10298, Hero of the Brood
|
||
#
|
||
# Magister's Terrace Attunement
|
||
# - 11481, Crisis at the Sunwell
|
||
# - 11482, Duty Calls
|
||
# - 11488, Magisters' Terrace
|
||
# - 11490, The Scryer's Scryer
|
||
# - 11492, Hard to Kill
|
||
#
|
||
# Serpentshrine Cavern
|
||
# - 10901, The Cudgel of Kar'desh
|
||
#
|
||
# The Eye
|
||
# - 10888, Trial of the Naaru: Magtheridon
|
||
#
|
||
# Mount Hyjal
|
||
# - 10445, The Vials of Eternity
|
||
#
|
||
# Black Temple
|
||
# - 10985, A Distraction for Akama
|
||
#
|
||
AiPlayerbot.AttunementQuests = 10279,10277,10282,10283,10284,10285,10296,10297,10298,11481,11482,11488,11490,11492,10901,10888,10445,10985
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# FLIGHTPATH
|
||
#
|
||
#
|
||
|
||
# Min random delay before the 1st follower bot clicks the flight-master (ms)
|
||
AiPlayerbot.BotTaxiDelayMinMs = 350
|
||
|
||
# Upper bound for the overall taxi delay window (ms) – larger spreads big raids
|
||
AiPlayerbot.BotTaxiDelayMaxMs = 5000
|
||
|
||
# Fixed gap added per group-slot so bots never take off together (ms)
|
||
AiPlayerbot.BotTaxiGapMs = 200
|
||
|
||
# Extra small randomness added to each gap so launches don’t look robotic (ms)
|
||
AiPlayerbot.BotTaxiGapJitterMs = 100
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# PROFESSIONS
|
||
#
|
||
|
||
# Percentage of randombots in each class bucket that receive a class-matching
|
||
# weighted profession combination. The remaining randombots use the weighted
|
||
# random sane-pair profession pool.
|
||
# Default: 30
|
||
AiPlayerbot.ClassMatchingProfessionChance = 30
|
||
|
||
# Automatically adds the 'master fishing' strategy to bots that have the fishing skill when the bots master fishes.
|
||
# Default: 1 (Enabled)
|
||
AiPlayerbot.EnableFishingWithMaster = 1
|
||
|
||
# Distance from itself (in yards) that a bot with a master will search for water to fish
|
||
AiPlayerbot.FishingDistanceFromMaster = 10.0
|
||
|
||
# Distance from itself (in yards) that a bot without a master will search for water to fish
|
||
# Currently not relevant since masterless bots will not fish
|
||
AiPlayerbot.FishingDistance = 40.0
|
||
|
||
# Distance from water (in yards) beyond which a bot will remove the 'master fishing' strategy
|
||
AiPlayerbot.EndFishingWithMaster = 30.0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
#######################################
|
||
# #
|
||
# RANDOMBOT-SPECIFIC SETTINGS #
|
||
# #
|
||
#######################################
|
||
|
||
####################################################################################################
|
||
# GENERAL
|
||
#
|
||
#
|
||
|
||
# Enable/Disable randomly generated password for randombot accounts
|
||
AiPlayerbot.RandomBotRandomPassword = 0
|
||
|
||
# Prefix for account names to create for randombots
|
||
AiPlayerbot.RandomBotAccountPrefix = "rndbot"
|
||
|
||
# Minimum and maximum levels for randombots
|
||
AiPlayerbot.RandomBotMinLevel = 1
|
||
AiPlayerbot.RandomBotMaxLevel = 80
|
||
|
||
# Sync max randombot level with max level of online players
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.SyncLevelWithPlayers = 0
|
||
|
||
# Mark many quests ≤ bot level as complete (slows down bot creation)
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.PreQuests = 0
|
||
|
||
# Enable LFG for randombots
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.RandomBotJoinLfg = 1
|
||
|
||
# Enable/Disable periodic online - offline of randombots to mimic the real-world scenario where not all players are online simultaneously
|
||
# When enabled, randombots are randomly selected to go online or offline periodically from a larger set
|
||
# Default: 0 (disabled, the set of online bots remains fixed)
|
||
AiPlayerbot.EnablePeriodicOnlineOffline = 0
|
||
|
||
# Defines the ratio between the total number of randombots (including offline ones) and the number of randombots currently online (MaxRandomBots)
|
||
# This setting must greater than 1.0 and only applies when EnablePeriodicOnlineOffline
|
||
# Default: 2.0 (total number of bots is twice the number of MaxRandomBots)
|
||
AiPlayerbot.PeriodicOnlineOfflineRatio = 2.0
|
||
|
||
# Percentage ratio of Alliance and Horde randombots
|
||
AiPlayerbot.RandomBotAllianceRatio = 50
|
||
AiPlayerbot.RandomBotHordeRatio = 50
|
||
|
||
# Disable logging in of death knight bots
|
||
AiPlayerbot.DisableDeathKnightLogin = 0
|
||
|
||
# Enable simulated expansion limitation for talents and glyphs
|
||
# If enabled, limits talent trees to 5 rows plus the middle talent of the 6th row for bots until level 61
|
||
# and 7 rows plus the middle talent of the 8th row for bots from level 61 until level 71
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.LimitTalentsExpansion = 0
|
||
|
||
# Configure randombot trading (0: Disabled, 1: Enabled, 2: Only Buy, 3: Only Sell)
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.EnableRandomBotTrading = 1
|
||
|
||
# Configure message prefixes which will be excluded in analysis in trade action to open trade window
|
||
AiPlayerbot.TradeActionExcludedPrefixes = "RPLL_H_,DBMv4,{звезда} Questie,{rt1} Questie"
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# LEVELS
|
||
#
|
||
#
|
||
|
||
# Disable randombots being generated with a random level
|
||
# If disabled, every randombot starts on a specified level (but can still level up by killing mobs and questing)
|
||
AiPlayerbot.DisableRandomLevels = 0
|
||
|
||
# Set randombots' starting level here if "AiPlayerbot.DisableRandomLevels" enabled
|
||
AiPlayerbot.RandombotStartingLevel = 1
|
||
|
||
# Chance randombot has min level on first randomize
|
||
# Default: 0.1 (10%)
|
||
AiPlayerbot.RandomBotMinLevelChance = 0.1
|
||
|
||
# Chance randombot has max level on first randomize
|
||
# Default 0.1 (10%)
|
||
AiPlayerbot.RandomBotMaxLevelChance = 0.1
|
||
|
||
# Fix the level of randombots (they won't level up)
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.RandomBotFixedLevel = 0
|
||
|
||
# Set RandomBotMaxLevel bots to RandomBotMinLevel
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.DowngradeMaxLevelBot = 0
|
||
|
||
# Set XP rate for random bots (Default: 1.0)
|
||
# Server XP Rate * AiPlayerbot.RandomBotXPRate
|
||
AiPlayerbot.RandomBotXPRate = 1.0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# GEAR
|
||
#
|
||
#
|
||
|
||
# Equipment quality limitation for randombots (1 = normal, 2 = uncommon, 3 = rare, 4 = epic, 5 = legendary)
|
||
# This also sets the maximum quality that can be generated by autogear for randombots and altbots
|
||
# Default: 3 (rare)
|
||
AiPlayerbot.RandomGearQualityLimit = 3
|
||
|
||
# Equipment item level (not gearscore) limitation for randombots (0 = no limit)
|
||
# Classic
|
||
# Max iLVL Tier 1 = 66 | Tier 2 = 76 | Tier 2.5 = 88 | Tier 3 = 92
|
||
# Max iLVL Phase 1(MC, Ony, ZG) = 78 | Phase 2(BWL) = 83 | Phase 2.5(AQ40) = 88 | Phase 3(Naxx40) = 92
|
||
# TBC
|
||
# Max iLVL Tier 4 = 120 | Tier 5 = 133 | Tier 6 = 164
|
||
# Max iLVL Phase 1(Kara, Gruul, Mag) = 125 | Phase 2(SSC, TK, ZA) = 141 | Phase 3(Hyjal, BT) = 156 | Phase 4(Sunwell) = 164
|
||
# WotLK
|
||
# Max iLVL Tier 7(10/25) = 200/213 | Tier 8(10/25) = 225/232 | Tier 9(10/25) = 232/245 | Tier 10(10/25/HC) = 251/264/290
|
||
# Max iLVL Phase 1(Naxx) = 224 | Phase 2(Ulduar) = 245 | Phase 3(ToC) = 258 | Phase 4(ICC) = 290
|
||
# Default: 0 (no limit)
|
||
AiPlayerbot.RandomGearScoreLimit = 0
|
||
|
||
# Prefer armor of the class's ideal type: apply 3x score multiplier to class-appropriate armor.
|
||
# When enabled, Warriors strongly prefer plate, Shamans prefer mail, etc.
|
||
# A truly superior item can still win (no hard filtering), but same-quality
|
||
# armor of the preferred type will score 3x higher and be equipped instead.
|
||
#
|
||
# ARMOR TYPE PREFERENCES:
|
||
# Plate: Warriors, Paladins, Death Knights
|
||
# Mail: Hunters, Shamans
|
||
# Leather: Rogues, Druids
|
||
# Cloth: Priests, Mages, Warlocks
|
||
#
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.PreferClassArmorType = 0
|
||
|
||
|
||
# When enabled, bots prefer spec-appropriate weapons based on speed and weapon type during autogear.
|
||
# Examples: Arms Warriors favor slow 2H axes/polearms (Axe Specialization), Combat Rogues
|
||
# favor a slow MH with a fast OH, and Enhancement Shamans favor synchronized slow 1H weapons.
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.PreferredSpecWeapons = 0
|
||
|
||
# If disabled, random bots can only upgrade equipment through looting and quests
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.IncrementalGearInit = 1
|
||
|
||
# Set minimum level of bots that will enchant and socket gems into their equipment with maintenance
|
||
# If greater than RandomBotMaxlevel, bots will not automatically enchant equipment or socket gems
|
||
# Default: 60
|
||
AiPlayerbot.MinEnchantingBotLevel = 60
|
||
|
||
# Enable expansion limitation for bot enchants and gems
|
||
# If enabled, bots will not use TBC enchants until level 61 or WotLK enchants and gems until level 71
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.LimitEnchantExpansion = 1
|
||
|
||
# Enable expansion limitation for gear
|
||
# If enabled, bots will not equip TBC gear until level 61 or WotLK gear until level 71
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.LimitGearExpansion = 1
|
||
|
||
# Chance randombot will have less-than-optimized generated gear
|
||
# Set between 0 (0%) and 1 (100%)
|
||
AiPlayerbot.RandomGearLoweringChance = 0
|
||
|
||
# Unobtainable or unusable items (comma-separated list of item IDs)
|
||
# Default: Chilton Wand (12468), Totem of the Earthen Ring (46978)
|
||
AiPlayerbot.UnobtainableItems = 12468,46978
|
||
|
||
# Randombots check player's gearscore level and deny the group invitation if it's too low
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.GearScoreCheck = 0
|
||
|
||
# Enable/Disable bot equipment persistence (stop random initialization) after certain level (EquipmentPersistenceLevel)
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.EquipmentPersistence = 0
|
||
|
||
# Default level if enabled: 80
|
||
AiPlayerbot.EquipmentPersistenceLevel = 80
|
||
|
||
# Randombots automatically upgrade their equipment on levelup
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoUpgradeEquip = 1
|
||
|
||
# Only set wolf pets for hunters for optimal raid performance (0 = disabled, 1 = enabled only for max-level bots, 2 = enabled)
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.HunterWolfPet = 0
|
||
|
||
# Default pet stance when a bot summons a pet
|
||
# 0 = Passive, 1 = Defensive, 2 = Aggressive
|
||
# Default: 1 (Defensive)
|
||
AiPlayerbot.DefaultPetStance = 1
|
||
|
||
# Enable/disable debug messages about pet commands
|
||
# 0 = Disabled, 1 = Enabled
|
||
# Default = 0 (disabled)
|
||
AiPlayerbot.PetChatCommandDebug = 0
|
||
|
||
# Prohibit hunter bots from creating pets with any family ID listed below in ExcludedHunterPetFamilies
|
||
# See the creature_family database table for all pet families by ID (note: ID for spiders is 3)
|
||
AiPlayerbot.ExcludedHunterPetFamilies = ""
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
####################################################################################################
|
||
# ACTIVITY
|
||
#
|
||
# BotActiveAlone
|
||
# - Controls how many bots are active when no real players are nearby.
|
||
# - Think of it as a rough percentage: 10 means approximately 10% of bots will be active.
|
||
# Not exact — the actual number may vary slightly per rotation cycle.
|
||
# - The active bots rotate: every <DurationSeconds> a different set of bots takes a turn.
|
||
# - The real number of active bots will always be higher than this value, because bots in
|
||
# combat, dungeons, battlegrounds, LFG queue, groups with real players, etc. are always
|
||
# forced active on top of this (see force rules below).
|
||
# - Set to 100 (with SmartScale off) = all bots always active. Maximum server load.
|
||
# - Set to 0 = only bots that match a force rule below will be active.
|
||
#
|
||
# BotActiveAloneDurationSeconds
|
||
# - How often the active roster rotates (in seconds). A different group of bots wakes up
|
||
# and the previous group may go idle.
|
||
# - This is a minimum, not exact. If a bot is in combat or meets any force rule when the
|
||
# rotation happens, it stays active until those conditions end — it won't be cut off
|
||
# mid-fight just because its turn expired.
|
||
#
|
||
AiPlayerbot.BotActiveAlone = 10
|
||
AiPlayerbot.BotActiveAloneDurationSeconds = 30
|
||
|
||
#
|
||
# Force-active rules (1 = on, 0 = off)
|
||
# These override the percentage above. If any of these conditions is true, the bot stays active.
|
||
#
|
||
# InRadius - A real player is within this many yards (set to 0 to disable).
|
||
# InZone - A real player is in the same zone (e.g. Elwynn Forest).
|
||
# InMap - A real player is on the same continent (e.g. Eastern Kingdoms).
|
||
# IsFriend - A real player has this bot on their friends list.
|
||
# InGuild - This bot is in a guild that has a real player in it.
|
||
#
|
||
# Bots are also always forced active (not configurable) when:
|
||
# in combat, inside a dungeon/raid/BG, in a BG or LFG queue,
|
||
# grouped with a real player, or controlled by a real player.
|
||
#
|
||
AiPlayerbot.BotActiveAloneForceWhenInRadius = 150
|
||
AiPlayerbot.BotActiveAloneForceWhenInZone = 1
|
||
AiPlayerbot.BotActiveAloneForceWhenInMap = 0
|
||
AiPlayerbot.BotActiveAloneForceWhenIsFriend = 0
|
||
AiPlayerbot.BotActiveAloneForceWhenInGuild = 1
|
||
|
||
# SmartScale — automatically reduces active bots when the server is struggling.
|
||
# Monitors the server's update time (how long each server tick takes in milliseconds).
|
||
# When the server slows down, fewer bots are kept active to reduce load.
|
||
#
|
||
# Floor (default 50ms) - Below this, no reduction. Server is running fine.
|
||
# Ceiling (default 200ms) - At or above this, all non-forced bots are paused.
|
||
# Between floor and ceiling, activity scales down gradually.
|
||
# Example: BotActiveAlone=10, floor=50, ceiling=200
|
||
# Server at 50ms → ~10% active (no reduction)
|
||
# Server at 125ms → ~5% active (half reduction)
|
||
# Server at 200ms → 0% active (only forced bots remain)
|
||
#
|
||
# MinLevel/MaxLevel — only bots within this level range are affected by SmartScale.
|
||
# Bots outside the range always use the full BotActiveAlone value.
|
||
# Force rules always win over SmartScale.
|
||
#
|
||
AiPlayerbot.botActiveAloneSmartScale = 1
|
||
AiPlayerbot.botActiveAloneSmartScaleDiffLimitfloor = 50
|
||
AiPlayerbot.botActiveAloneSmartScaleDiffLimitCeiling = 200
|
||
AiPlayerbot.botActiveAloneSmartScaleWhenMinLevel = 1
|
||
AiPlayerbot.botActiveAloneSmartScaleWhenMaxLevel = 80
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# QUESTS
|
||
#
|
||
#
|
||
|
||
# Quest that will be completed and rewarded for all randombots
|
||
AiPlayerbot.RandomBotQuestIds = "3802,5505,6502,7761,7848,10277,10285,11492,13188,13189,24499,24511,24710,24712"
|
||
|
||
# Randombots will group with nearby randombots to do shared quests
|
||
AiPlayerbot.RandomBotGroupNearby = 0
|
||
|
||
# Randombots will pick quests on their own and try to complete them
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoDoQuests = 1
|
||
|
||
# Quest items to keep in bots' inventories (do not destroy)
|
||
AiPlayerbot.RandomBotQuestItems = "5175,5176,5177,5178,6948,11000,12382,13704,16309"
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# SPELLS
|
||
#
|
||
#
|
||
|
||
# Randombots automatically learn class quest reward spells on levelup
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.AutoLearnQuestSpells = 0
|
||
|
||
# Randombots automatically learn trainable spells on levelup
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoLearnTrainerSpells = 1
|
||
|
||
# Randombots automatically spend talent points on levelup
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoPickTalents = 1
|
||
|
||
# Spells every randombot will learn automatically and every altbot will learn with maintenance (54197 - cold weather flying)
|
||
AiPlayerbot.RandomBotSpellIds = "54197"
|
||
|
||
# ID of spell to open lootable chests
|
||
AiPlayerbot.OpenGoSpell = 6477
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# STRATEGIES
|
||
#
|
||
#
|
||
|
||
# Additional randombot strategies
|
||
# Strategies added here are applied to all randombots, in addition (or subtraction) to spec/role-based default strategies.
|
||
# These rules are processed after the defaults.
|
||
# Example: "+threat,-potions"
|
||
AiPlayerbot.RandomBotCombatStrategies = ""
|
||
AiPlayerbot.RandomBotNonCombatStrategies = ""
|
||
|
||
# Additional altbot strategies
|
||
# Strategies added here are applied to all altbots, in addition (or subtraction) to spec/role-based default strategies.
|
||
# These rules are processed after the defaults.
|
||
AiPlayerbot.CombatStrategies = ""
|
||
AiPlayerbot.NonCombatStrategies = ""
|
||
|
||
# Remove "healer dps" strategy on the maps specified below.
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.HealerDPSMapRestriction = 1
|
||
|
||
# List of Map IDs where "healer dps" strategy will be removed if AiPlayerbot.HealerDPSMapRestriction is enabled
|
||
# Default: (Dungeon and Raid maps) "33,34,36,43,47,48,70,90,109,129,209,229,230,329,349,389,429,1001,1004,1007,269,540,542,543,545,546,547,552,553,554,555,556,557,558,560,585,574,575,576,578,595,599,600,601,602,604,608,619,632,650,658,668,409,469,509,531,532,534,544,548,550,564,565,580,249,533,603,615,616,624,631,649,724"
|
||
AiPlayerbot.RestrictedHealerDPSMaps = "33,34,36,43,47,48,70,90,109,129,209,229,230,329,349,389,429,1001,1004,1007,269,540,542,543,545,546,547,552,553,554,555,556,557,558,560,585,574,575,576,578,595,599,600,601,602,604,608,619,632,650,658,668,409,469,509,531,532,534,544,548,550,564,565,580,249,533,603,615,616,624,631,649,724"
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# RPG STRATEGY
|
||
#
|
||
#
|
||
|
||
# Randombots will behave more like real players (experimental)
|
||
# This option will override AiPlayerbot.AutoDoQuests, RandomBotTeleLowerLevel, and RandomBotTeleHigherLevel
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.EnableNewRpgStrategy = 1
|
||
|
||
# Control probability weights for RPG status of bots. Takes effect only when the status meets its premise.
|
||
# Sum of weights need not be 100. Set to 0 to disable the status.
|
||
#
|
||
# WanderRandom (Default: 15 Move randomly nearby to find and kill mobs)
|
||
# WanderNpc (Default: 20 Randomly interact with nearby NPCs)
|
||
# GoGrind (Default: 15 Go to nearby level-appropriate locations to grind for killing mobs)
|
||
# GoCamp (Default: 10 Return to a nearby camp depending on innkeeper/flightmaster)
|
||
# DoQuest (Default: 60 Select quest from the quest log and head to the location to attempt completion)
|
||
# TravelFlight (Default: 15 Go to the nearest flightmaster and fly to a level-appropriate area)
|
||
# Rest (Default: 5 Take a break for a while and do nothing)
|
||
# OutdoorPvp (Default: 10 Participate in outdoor PvP capture points if already in an outdoor PvP zone)
|
||
AiPlayerbot.RpgStatusProbWeight.WanderRandom = 15
|
||
AiPlayerbot.RpgStatusProbWeight.WanderNpc = 20
|
||
AiPlayerbot.RpgStatusProbWeight.GoGrind = 15
|
||
AiPlayerbot.RpgStatusProbWeight.GoCamp = 10
|
||
AiPlayerbot.RpgStatusProbWeight.DoQuest = 60
|
||
AiPlayerbot.RpgStatusProbWeight.TravelFlight = 15
|
||
AiPlayerbot.RpgStatusProbWeight.Rest = 5
|
||
AiPlayerbot.RpgStatusProbWeight.OutdoorPvp = 10
|
||
|
||
# Bots' minimum and maximum level when teleporting in and out of a zone, according to the new RPG strategy
|
||
# Format: AiPlayerbot.ZoneBracket.zoneID = minLevel,maxLevel
|
||
#
|
||
# Classic WoW - Low-level zones:
|
||
# Dun Morogh (Zone ID: 1 Default Min,Max: 5,12)
|
||
# Elwynn Forest (Zone ID: 12 Default Min,Max: 5,12)
|
||
# Durotar (Zone ID: 14 Default Min,Max: 5,12)
|
||
# Tirisfal Glades (Zone ID: 85 Default Min,Max: 5,12)
|
||
# Teldrassil (Zone ID: 141 Default Min,Max: 5,12)
|
||
# Mulgore (Zone ID: 215 Default Min,Max: 5,12)
|
||
# Eversong Woods (Zone ID: 3430 Default Min,Max: 5,12)
|
||
# Azuremyst Isle (Zone ID: 3524 Default Min,Max: 5,12)
|
||
AiPlayerbot.ZoneBracket.1 = 5,12
|
||
AiPlayerbot.ZoneBracket.12 = 5,12
|
||
AiPlayerbot.ZoneBracket.14 = 5,12
|
||
AiPlayerbot.ZoneBracket.85 = 5,12
|
||
AiPlayerbot.ZoneBracket.141 = 5,12
|
||
AiPlayerbot.ZoneBracket.215 = 5,12
|
||
AiPlayerbot.ZoneBracket.3430 = 5,12
|
||
AiPlayerbot.ZoneBracket.3524 = 5,12
|
||
|
||
# Classic WoW - Mid-level zones:
|
||
# Barrens (Zone ID: 17 Default Min,Max: 10,25)
|
||
# Loch Modan (Zone ID: 38 Default Min,Max: 10,20)
|
||
# Westfall (Zone ID: 40 Default Min,Max: 10,21)
|
||
# Silverpine Forest (Zone ID: 130 Default Min,Max: 10,23)
|
||
# Darkshore (Zone ID: 148 Default Min,Max: 10,21)
|
||
# Ghostlands (Zone ID: 3433 Default Min,Max: 10,22)
|
||
# Bloodmyst Isle (Zone ID: 3525 Default Min,Max: 10,21)
|
||
AiPlayerbot.ZoneBracket.17 = 10,25
|
||
AiPlayerbot.ZoneBracket.38 = 10,20
|
||
AiPlayerbot.ZoneBracket.40 = 10,21
|
||
AiPlayerbot.ZoneBracket.130 = 10,23
|
||
AiPlayerbot.ZoneBracket.148 = 10,21
|
||
AiPlayerbot.ZoneBracket.3433 = 10,22
|
||
AiPlayerbot.ZoneBracket.3525 = 10,21
|
||
|
||
# Classic WoW - High-level zones:
|
||
# Duskwood (Zone ID: 10 Default Min,Max: 19,33)
|
||
# Wetlands (Zone ID: 11 Default Min,Max: 21,30)
|
||
# Redridge Mountains (Zone ID: 44 Default Min,Max: 16,28)
|
||
# Hillsbrad Foothills (Zone ID: 267 Default Min,Max: 20,34)
|
||
# Ashenvale (Zone ID: 331 Default Min,Max: 18,33)
|
||
# Thousand Needles (Zone ID: 400 Default Min,Max: 24,36)
|
||
# Stonetalon Mountains (Zone ID: 406 Default Min,Max: 16,29)
|
||
AiPlayerbot.ZoneBracket.10 = 19,33
|
||
AiPlayerbot.ZoneBracket.11 = 21,30
|
||
AiPlayerbot.ZoneBracket.44 = 16,28
|
||
AiPlayerbot.ZoneBracket.267 = 20,34
|
||
AiPlayerbot.ZoneBracket.331 = 18,33
|
||
AiPlayerbot.ZoneBracket.400 = 24,36
|
||
AiPlayerbot.ZoneBracket.406 = 16,29
|
||
|
||
# Classic WoW - Higher-level zones:
|
||
# Badlands (Zone ID: 3 Default Min,Max: 36,46)
|
||
# Swamp of Sorrows (Zone ID: 8 Default Min,Max: 36,46)
|
||
# Dustwallow Marsh (Zone ID: 15 Default Min,Max: 35,46)
|
||
# Azshara (Zone ID: 16 Default Min,Max: 45,52)
|
||
# Stranglethorn Vale (Zone ID: 33 Default Min,Max: 32,47)
|
||
# Arathi Highlands (Zone ID: 45 Default Min,Max: 30,42)
|
||
# Hinterlands (Zone ID: 47 Default Min,Max: 42,51)
|
||
# Searing Gorge (Zone ID: 51 Default Min,Max: 45,51)
|
||
# Feralas (Zone ID: 357 Default Min,Max: 40,52)
|
||
# Desolace (Zone ID: 405 Default Min,Max: 30,41)
|
||
# Tanaris (Zone ID: 440 Default Min,Max: 41,52)
|
||
AiPlayerbot.ZoneBracket.3 = 36,46
|
||
AiPlayerbot.ZoneBracket.8 = 36,46
|
||
AiPlayerbot.ZoneBracket.15 = 35,46
|
||
AiPlayerbot.ZoneBracket.16 = 45,52
|
||
AiPlayerbot.ZoneBracket.33 = 32,47
|
||
AiPlayerbot.ZoneBracket.45 = 30,42
|
||
AiPlayerbot.ZoneBracket.47 = 42,51
|
||
AiPlayerbot.ZoneBracket.51 = 45,51
|
||
AiPlayerbot.ZoneBracket.357 = 40,52
|
||
AiPlayerbot.ZoneBracket.405 = 30,41
|
||
AiPlayerbot.ZoneBracket.440 = 41,52
|
||
|
||
# Classic WoW - Top-level zones:
|
||
# Blasted Lands (Zone ID: 4 Default Min,Max: 52,57)
|
||
# Western Plaguelands (Zone ID: 28 Default Min,Max: 50,60)
|
||
# Burning Steppes (Zone ID: 46 Default Min,Max: 51,60)
|
||
# Eastern Plaguelands (Zone ID: 139 Default Min,Max: 54,62)
|
||
# Felwood (Zone ID: 361 Default Min,Max: 47,57)
|
||
# Un'Goro Crater (Zone ID: 490 Default Min,Max: 49,56)
|
||
# Winterspring (Zone ID: 618 Default Min,Max: 54,61)
|
||
# Silithus (Zone ID: 1377 Default Min,Max: 54,63)
|
||
AiPlayerbot.ZoneBracket.4 = 52,57
|
||
AiPlayerbot.ZoneBracket.28 = 50,60
|
||
AiPlayerbot.ZoneBracket.46 = 51,60
|
||
AiPlayerbot.ZoneBracket.139 = 54,62
|
||
AiPlayerbot.ZoneBracket.361 = 47,57
|
||
AiPlayerbot.ZoneBracket.490 = 49,56
|
||
AiPlayerbot.ZoneBracket.618 = 54,61
|
||
AiPlayerbot.ZoneBracket.1377 = 54,63
|
||
|
||
# The Burning Crusade - Zones:
|
||
# Hellfire Peninsula (Zone ID: 3483 Default Min,Max: 58,66)
|
||
# Nagrand (Zone ID: 3518 Default Min,Max: 64,70)
|
||
# Terokkar Forest (Zone ID: 3519 Default Min,Max: 62,73)
|
||
# Shadowmoon Valley (Zone ID: 3520 Default Min,Max: 66,73)
|
||
# Zangarmarsh (Zone ID: 3521 Default Min,Max: 60,67)
|
||
# Blade's Edge Mountains (Zone ID: 3522 Default Min,Max: 64,73)
|
||
# Netherstorm (Zone ID: 3523 Default Min,Max: 67,73)
|
||
# Isle of Quel'Danas (Zone ID: 4080 Default Min,Max: 68,73)
|
||
AiPlayerbot.ZoneBracket.3483 = 58,66
|
||
AiPlayerbot.ZoneBracket.3518 = 64,70
|
||
AiPlayerbot.ZoneBracket.3519 = 62,73
|
||
AiPlayerbot.ZoneBracket.3520 = 66,73
|
||
AiPlayerbot.ZoneBracket.3521 = 60,67
|
||
AiPlayerbot.ZoneBracket.3522 = 64,73
|
||
AiPlayerbot.ZoneBracket.3523 = 67,73
|
||
AiPlayerbot.ZoneBracket.4080 = 68,73
|
||
|
||
# Wrath of the Lich King - Zones:
|
||
# Dragonblight (Zone ID: 65 Default Min,Max: 71,77)
|
||
# Zul'Drak (Zone ID: 66 Default Min,Max: 74,80)
|
||
# Storm Peaks (Zone ID: 67 Default Min,Max: 77,80)
|
||
# Icecrown Glacier (Zone ID: 210 Default Min,Max: 77,80)
|
||
# Grizzly Hills (Zone ID: 394 Default Min,Max: 72,78)
|
||
# Howling Fjord (Zone ID: 495 Default Min,Max: 68,74)
|
||
# Crystalsong Forest (Zone ID: 2817 Default Min,Max: 77,80)
|
||
# Borean Tundra (Zone ID: 3537 Default Min,Max: 68,75)
|
||
# Sholazar Basin (Zone ID: 3711 Default Min,Max: 75,80)
|
||
# Wintergrasp (Zone ID: 4197 Default Min,Max: 79,80)
|
||
AiPlayerbot.ZoneBracket.65 = 71,77
|
||
AiPlayerbot.ZoneBracket.66 = 74,80
|
||
AiPlayerbot.ZoneBracket.67 = 77,80
|
||
AiPlayerbot.ZoneBracket.210 = 77,80
|
||
AiPlayerbot.ZoneBracket.394 = 72,78
|
||
AiPlayerbot.ZoneBracket.495 = 68,74
|
||
AiPlayerbot.ZoneBracket.2817 = 77,80
|
||
AiPlayerbot.ZoneBracket.3537 = 68,75
|
||
AiPlayerbot.ZoneBracket.3711 = 75,80
|
||
AiPlayerbot.ZoneBracket.4197 = 79,80
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# TELEPORTS
|
||
#
|
||
#
|
||
|
||
# Map IDs where bots can be teleported to
|
||
# Defaults: 0 = Eastern Kingdoms, 1 = Kalimdor, 530 = Outland, 571 = Northrend
|
||
AiPlayerbot.RandomBotMaps = 0,1,530,571
|
||
|
||
# Probabilty bots teleport to banker (city)
|
||
# Default: 0.25
|
||
AiPlayerbot.ProbTeleToBankers = 0.25
|
||
|
||
# Control probability weights for bots teleporting to Capital city bankers
|
||
# Sum of weights need not be 100. Set to 0 to disable teleporting to the city.
|
||
AiPlayerbot.EnableWeightTeleToCityBankers = 1
|
||
AiPlayerbot.TeleToStormwindWeight = 2
|
||
AiPlayerbot.TeleToIronforgeWeight = 1
|
||
AiPlayerbot.TeleToDarnassusWeight = 1
|
||
AiPlayerbot.TeleToExodarWeight = 1
|
||
AiPlayerbot.TeleToOrgrimmarWeight = 2
|
||
AiPlayerbot.TeleToUndercityWeight = 1
|
||
AiPlayerbot.TeleToThunderBluffWeight = 1
|
||
AiPlayerbot.TeleToSilvermoonCityWeight = 1
|
||
AiPlayerbot.TeleToShattrathCityWeight = 1
|
||
AiPlayerbot.TeleToDalaranWeight = 1
|
||
|
||
# How far randombots are teleported after death
|
||
AiPlayerbot.RandomBotTeleportDistance = 100
|
||
|
||
# How many levels below the lowest-level creature in a zone, can a bot be
|
||
# This will have no effect if AiPlayerbot.EnableNewRpgStrategy is enabled
|
||
# Default: 1 (randombot will leave if they are more than 1 level lower)
|
||
AiPlayerbot.RandomBotTeleLowerLevel = 1
|
||
|
||
# How many levels above the highest-level creature in a zone, can a bot be
|
||
# This will have no effect if AiPlayerbot.EnableNewRpgStrategy is enabled
|
||
# Default: 3 (randombot will leave if they are more than 3 levels higher)
|
||
AiPlayerbot.RandomBotTeleHigherLevel = 3
|
||
|
||
# Bots automatically teleport to another place for leveling on levelup
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.AutoTeleportForLevel = 1
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# BATTLEGROUNDS & ARENAS & PVP
|
||
#
|
||
#
|
||
|
||
# Enable battlegrounds/arenas for randombots
|
||
AiPlayerbot.RandomBotJoinBG = 1
|
||
|
||
# Enable auto-joining of battlegrounds - have bots start battlegrounds and arenas on their own
|
||
AiPlayerbot.RandomBotAutoJoinBG = 0
|
||
|
||
# Required Configuration for RandomBotAutoJoinBG
|
||
#
|
||
# Known issue: When enabling many brackats in combination with multiple instances, it can lead to more instances created by bots than intended (over-queuing).
|
||
#
|
||
# This section controls the level brackets and automatic bot participation in battlegrounds and arenas.
|
||
#
|
||
# Brackets:
|
||
# - Specify the level ranges for bots to auto-join:
|
||
# - Warsong Gulch (WS): 0 = 10-19, 1 = 20-29, 2 = 30-39, ..., 7 = 80 (Default: 7)
|
||
# - Rated Arena: 0 = 10-14, 1 = 15-19, ..., 14 = 80-84 (Default: 14)
|
||
# - Multiple brackets can be specified as a comma-separated list (e.g., "0,2,5").
|
||
#
|
||
# Counts:
|
||
# - Specify the number of battlegrounds to auto-fill per bracket.
|
||
# - For battlegrounds, 'Count" is the number of bots per bracket. For example:
|
||
# - Warsong Gulch Count = 1 adds 20 bots (10 per team).
|
||
# - Ensure there are enough eligible bots to meet the specified counts.
|
||
#
|
||
# Arena Considerations:
|
||
# - Rated arena brackets default to level 80-84 (bracket 14).
|
||
# - Custom code changes are required for lower-level arena brackets to function properly.
|
||
#
|
||
# Battleground bracket range possibilities:
|
||
# AiPlayerbot.RandomBotAutoJoinICBrackets = 0,1
|
||
# AiPlayerbot.RandomBotAutoJoinEYBrackets = 0,1,2
|
||
# AiPlayerbot.RandomBotAutoJoinAVBrackets = 0,1,2,3
|
||
# AiPlayerbot.RandomBotAutoJoinABBrackets = 0,1,2,3,4,5,6
|
||
# AiPlayerbot.RandomBotAutoJoinWSBrackets = 0,1,2,3,4,5,6,7
|
||
|
||
AiPlayerbot.RandomBotAutoJoinICBrackets = 1
|
||
AiPlayerbot.RandomBotAutoJoinEYBrackets = 2
|
||
AiPlayerbot.RandomBotAutoJoinAVBrackets = 3
|
||
AiPlayerbot.RandomBotAutoJoinABBrackets = 6
|
||
AiPlayerbot.RandomBotAutoJoinWSBrackets = 7
|
||
|
||
# Battlegrounds count (per bracket!):
|
||
AiPlayerbot.RandomBotAutoJoinBGICCount = 0
|
||
AiPlayerbot.RandomBotAutoJoinBGEYCount = 1
|
||
AiPlayerbot.RandomBotAutoJoinBGAVCount = 0
|
||
AiPlayerbot.RandomBotAutoJoinBGABCount = 1
|
||
AiPlayerbot.RandomBotAutoJoinBGWSCount = 1
|
||
|
||
# Arena configuration:
|
||
AiPlayerbot.RandomBotAutoJoinArenaBracket = 14
|
||
|
||
AiPlayerbot.RandomBotAutoJoinBGRatedArena2v2Count = 0
|
||
AiPlayerbot.RandomBotAutoJoinBGRatedArena3v3Count = 0
|
||
AiPlayerbot.RandomBotAutoJoinBGRatedArena5v5Count = 0
|
||
|
||
# Randombot arena team count
|
||
# Teams are created when bots are initialized on server restart.
|
||
# You may need to first delete all arena teams, then reinitialize bots.
|
||
# Warning: Reinitializing bots completely resets them (command in game: .playerbots rndbot init)
|
||
# Bots only join one arena team to avoid queueing issues. Take that into account when increasing count.
|
||
# Default: 2v2: 10 (20 Bots), 3v3: 10 (30 bots), 5v5: 5 (25 bots)
|
||
AiPlayerbot.RandomBotArenaTeam2v2Count = 10
|
||
AiPlayerbot.RandomBotArenaTeam3v3Count = 10
|
||
AiPlayerbot.RandomBotArenaTeam5v5Count = 5
|
||
|
||
# Arena rating is randomized on team creation.
|
||
# Default: Max: 2000, Min: 1000
|
||
AiPlayerbot.RandomBotArenaTeamMaxRating = 2000
|
||
AiPlayerbot.RandomBotArenaTeamMinRating = 1000
|
||
|
||
# Delete all randombot arena teams
|
||
AiPlayerbot.DeleteRandomBotArenaTeams = 0
|
||
|
||
# PvP Restricted Zones (bots don't pvp)
|
||
AiPlayerbot.PvpProhibitedZoneIds = "2255,656,2361,2362,2363,976,35,2268,3425,392,541,1446,3828,3712,3738,3565,3539,3623,4152,3988,4658,4284,4418,4436,4275,4323,4395,3703,4298,3951"
|
||
|
||
# PvP Restricted Areas (bots don't pvp)
|
||
AiPlayerbot.PvpProhibitedAreaIds = "976,35,392,2268,4161,4010,4317,4312,3649,3887,3958,3724,4080,3938,3754,3786,3973,4085,4086,4087,4088"
|
||
|
||
# Improve reaction speeds in battlegrounds and arenas (may cause lag)
|
||
AiPlayerbot.FastReactInBG = 1
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# RANDOM BOT TIMING AND BEHAVIOR
|
||
#
|
||
#
|
||
|
||
# How often (in seconds) the random bot manager runs its main update loop
|
||
# Default: 20
|
||
AiPlayerbot.RandomBotUpdateInterval = 20
|
||
|
||
# Minimum and maximum seconds before the manager re-evaluates and adjusts total random bot count
|
||
# Defaults: 1800 (min), 7200 (max)
|
||
AiPlayerbot.RandomBotCountChangeMinInterval = 1800
|
||
AiPlayerbot.RandomBotCountChangeMaxInterval = 7200
|
||
|
||
# Minimum and maximum seconds a random bot will stay online before logging out
|
||
# Defaults: 600 (min), 28800 (max)
|
||
AiPlayerbot.MinRandomBotInWorldTime = 600
|
||
AiPlayerbot.MaxRandomBotInWorldTime = 28800
|
||
|
||
# Minimum and maximum seconds before a bot is eligible for re-randomization (gear, class, talents, etc.)
|
||
# Defaults: 7200 (min), 1209600 (max)
|
||
AiPlayerbot.MinRandomBotRandomizeTime = 7200
|
||
AiPlayerbot.MaxRandomBotRandomizeTime = 1209600
|
||
|
||
# Number of bots processed (login, logout, update) per manager update cycle
|
||
# Default: 60
|
||
AiPlayerbot.RandomBotsPerInterval = 60
|
||
|
||
# Minimum and maximum seconds after death before a bot revives
|
||
# Defaults: 60 (min), 300 (max)
|
||
AiPlayerbot.MinRandomBotReviveTime = 60
|
||
AiPlayerbot.MaxRandomBotReviveTime = 300
|
||
|
||
# Minimum and maximum seconds between bot teleports to new areas or zones
|
||
# Defaults: 3600 (min), 18000 (max)
|
||
AiPlayerbot.MinRandomBotTeleportInterval = 3600
|
||
AiPlayerbot.MaxRandomBotTeleportInterval = 18000
|
||
|
||
# Number of seconds bots flagged as permanent stay in the world (31,104,000 ≈ 1 year)
|
||
# Default: 31104000
|
||
AiPlayerbot.PermanentlyInWorldTime = 31104000
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
###################################
|
||
# #
|
||
# PREMADE SPECS #
|
||
# #
|
||
###################################
|
||
|
||
####################################################################################################
|
||
# INFORMATION
|
||
#
|
||
#
|
||
|
||
# AiPlayerbot.PremadeSpecName.<class>.<specno> = <name> #Name of the talent specialisation
|
||
# AiPlayerbot.PremadeSpecLink.<class>.<specno>.<level> = <link> #Wowhead style link the bot should work towards at given level.
|
||
# AiPlayerbot.PremadeSpecGlyph.<class>.<specno> = <major 1>,<minor 1>,<major 2>,<minor 2>,<minor 3>,<major 3> #ItemId of the glyphs
|
||
# e.g., formulate the link on https://www.wowhead.com/wotlk/talent-calc/warrior/3022032123335100202012013031251-32505010002
|
||
# 0 <= specno < 20, 1 <= level <= 80
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# WARRIOR
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.1.0 = arms pve
|
||
AiPlayerbot.PremadeSpecGlyph.1.0 = 43418,43395,43423,43399,49084,43421
|
||
AiPlayerbot.PremadeSpecLink.1.0.60 = 3022032023335100002012211231241
|
||
AiPlayerbot.PremadeSpecLink.1.0.80 = 3022032023335100102012213231251-305-2033
|
||
AiPlayerbot.PremadeSpecName.1.1 = fury pve
|
||
AiPlayerbot.PremadeSpecGlyph.1.1 = 43418,43395,43414,43399,49084,43432
|
||
AiPlayerbot.PremadeSpecLink.1.1.60 = -305053000500310053120501351
|
||
AiPlayerbot.PremadeSpecLink.1.1.80 = 32002300233-305053000500310153120511351
|
||
AiPlayerbot.PremadeSpecName.1.2 = prot pve
|
||
AiPlayerbot.PremadeSpecGlyph.1.2 = 43424,43395,43425,43399,49084,45793
|
||
AiPlayerbot.PremadeSpecLink.1.2.60 = --053351225000210521030113321
|
||
AiPlayerbot.PremadeSpecLink.1.2.80 = 3500030023-301-053351225000210521030113321
|
||
AiPlayerbot.PremadeSpecName.1.3 = arms pvp
|
||
AiPlayerbot.PremadeSpecGlyph.1.3 = 43417,43397,43423,43396,49084,43421
|
||
AiPlayerbot.PremadeSpecLink.1.3.60 = 0320232023331100032212012221251
|
||
AiPlayerbot.PremadeSpecLink.1.3.80 = 0320332023335100232212013231251-3250001
|
||
AiPlayerbot.PremadeSpecName.1.4 = fury pvp
|
||
AiPlayerbot.PremadeSpecGlyph.1.4 = 43432,43397,43417,43395,43396,43418
|
||
AiPlayerbot.PremadeSpecLink.1.4.60 = -325000131500212250120511351
|
||
AiPlayerbot.PremadeSpecLink.1.4.80 = 03220300233-325000131500212250122511351
|
||
AiPlayerbot.PremadeSpecName.1.5 = prot pvp
|
||
AiPlayerbot.PremadeSpecGlyph.1.5 = 43425,43397,43415,43396,49084,45792
|
||
AiPlayerbot.PremadeSpecLink.1.5.60 = --250031220223012520332113321
|
||
AiPlayerbot.PremadeSpecLink.1.5.80 = 0502300123-3-250031220223012521332113321
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# PALADIN
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.2.0 = holy pve
|
||
AiPlayerbot.PremadeSpecGlyph.2.0 = 41106,43367,45741,43368,43365,41109
|
||
AiPlayerbot.PremadeSpecLink.2.0.60 = 50350151020013053100515221
|
||
AiPlayerbot.PremadeSpecLink.2.0.80 = 50350152220013053100515221-503201312
|
||
AiPlayerbot.PremadeSpecName.2.1 = prot pve
|
||
AiPlayerbot.PremadeSpecGlyph.2.1 = 41099,43367,43869,43368,43369,45745
|
||
AiPlayerbot.PremadeSpecLink.2.1.60 = -05005135203102311333112321
|
||
AiPlayerbot.PremadeSpecLink.2.1.80 = -05005135203102311333312321-502302012003
|
||
AiPlayerbot.PremadeSpecName.2.2 = ret pve
|
||
AiPlayerbot.PremadeSpecGlyph.2.2 = 41092,43367,41099,43368,43369,43869
|
||
AiPlayerbot.PremadeSpecLink.2.2.60 = --05230051203331302133231131
|
||
AiPlayerbot.PremadeSpecLink.2.2.65 = -05-05230051203331302133231131
|
||
AiPlayerbot.PremadeSpecLink.2.2.80 = 050501-05-05232051203331302133231331
|
||
AiPlayerbot.PremadeSpecName.2.3 = holy pvp
|
||
AiPlayerbot.PremadeSpecGlyph.2.3 = 41110,43367,45746,43369,43365,45747
|
||
AiPlayerbot.PremadeSpecLink.2.3.60 = 50332150300013050133215221
|
||
AiPlayerbot.PremadeSpecLink.2.3.80 = 50332150300013050133315221-5032013122
|
||
AiPlayerbot.PremadeSpecName.2.4 = prot pvp
|
||
AiPlayerbot.PremadeSpecGlyph.2.4 = 41092,43367,41101,43369,43365,45745
|
||
AiPlayerbot.PremadeSpecLink.2.4.60 = -15320130223122311323311321
|
||
AiPlayerbot.PremadeSpecLink.2.4.80 = -15320130223122321333312321-052300502
|
||
AiPlayerbot.PremadeSpecName.2.5 = ret pvp
|
||
AiPlayerbot.PremadeSpecGlyph.2.5 = 41095,43367,41102,43369,43365,45747
|
||
AiPlayerbot.PremadeSpecLink.2.5.60 = --05230250203331222133201321
|
||
AiPlayerbot.PremadeSpecLink.2.5.80 = -1532013022-05230250203331322133201321
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# HUNTER
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.3.0 = bm pve
|
||
AiPlayerbot.PremadeSpecGlyph.3.0 = 42912,43350,42902,43351,43338,42914
|
||
AiPlayerbot.PremadeSpecLink.3.0.40 = 512002015051122301
|
||
AiPlayerbot.PremadeSpecLink.3.0.60 = 51200201505112233110531151
|
||
AiPlayerbot.PremadeSpecLink.3.0.80 = 51200201505112243130531351-005305101
|
||
AiPlayerbot.PremadeSpecName.3.1 = mm pve
|
||
AiPlayerbot.PremadeSpecGlyph.3.1 = 42912,43350,45625,43351,43338,42914
|
||
AiPlayerbot.PremadeSpecLink.3.1.60 = -035305101030013233115031151
|
||
AiPlayerbot.PremadeSpecLink.3.1.80 = 502-035305101230013233135031351-5000002
|
||
AiPlayerbot.PremadeSpecName.3.2 = surv pve
|
||
AiPlayerbot.PremadeSpecGlyph.3.2 = 45733,43350,45731,43351,43338,45732
|
||
AiPlayerbot.PremadeSpecLink.3.2.60 = --5000032500033330502135201311
|
||
AiPlayerbot.PremadeSpecLink.3.2.80 = -005305101-5000032500033330532135301321
|
||
AiPlayerbot.PremadeSpecName.3.3 = bm pvp
|
||
AiPlayerbot.PremadeSpecGlyph.3.3 = 42897,42900,42902,43356,43338,42900
|
||
AiPlayerbot.PremadeSpecLink.3.3.60 = 05203201505012233100531151
|
||
AiPlayerbot.PremadeSpecLink.3.3.80 = 05203201505012233100531351-005305101-03
|
||
AiPlayerbot.PremadeSpecName.3.4 = mm pvp
|
||
AiPlayerbot.PremadeSpecGlyph.3.4 = 42912,43351,42897,43338,43356,42904
|
||
AiPlayerbot.PremadeSpecLink.3.4.60 = -034305101030213231135031051
|
||
AiPlayerbot.PremadeSpecLink.3.4.80 = -035305101030213233135031051-53013020102
|
||
AiPlayerbot.PremadeSpecName.3.5 = surv pvp
|
||
AiPlayerbot.PremadeSpecGlyph.3.5 = 42912,43350,42904,43356,43338,45731
|
||
AiPlayerbot.PremadeSpecLink.3.5.60 = --2300302410233030533135001031
|
||
AiPlayerbot.PremadeSpecLink.3.5.80 = -005305201-2300302510233330533135001031
|
||
|
||
|
||
# HUNTER PET
|
||
#
|
||
# Ferocity
|
||
AiPlayerbot.PremadeHunterPetLink.0.16 = 2100003030103010101
|
||
AiPlayerbot.PremadeHunterPetLink.0.20 = 2100013030103010122
|
||
# Tenacity
|
||
AiPlayerbot.PremadeHunterPetLink.1.16 = 21103000300120101001
|
||
AiPlayerbot.PremadeHunterPetLink.1.20 = 21303010300120101002
|
||
# Cunning
|
||
AiPlayerbot.PremadeHunterPetLink.2.16 = 2100020330000211001
|
||
AiPlayerbot.PremadeHunterPetLink.2.20 = 21000203300002110221
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# ROGUE
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.4.0 = as pve
|
||
AiPlayerbot.PremadeSpecGlyph.4.0 = 45768,43379,45761,43380,43378,45766
|
||
AiPlayerbot.PremadeSpecLink.4.0.60 = 005303104352100520103331051
|
||
AiPlayerbot.PremadeSpecLink.4.0.80 = 005303104352100520103331051-005005005003-2
|
||
AiPlayerbot.PremadeSpecName.4.1 = combat pve
|
||
AiPlayerbot.PremadeSpecGlyph.4.1 = 42962,43379,45762,43380,43378,42969
|
||
AiPlayerbot.PremadeSpecLink.4.1.60 = -0252051000035015223100501251
|
||
AiPlayerbot.PremadeSpecLink.4.1.80 = 00532000523-0252051000035015223100501251
|
||
AiPlayerbot.PremadeSpecName.4.2 = subtlety pve
|
||
AiPlayerbot.PremadeSpecGlyph.4.2 = 42967,43379,45764,43380,43378,45767
|
||
AiPlayerbot.PremadeSpecLink.4.2.60 = --5022012030321121350115031151
|
||
AiPlayerbot.PremadeSpecLink.4.2.80 = 30532010114--5022012030321121350115031151
|
||
AiPlayerbot.PremadeSpecName.4.3 = as pvp
|
||
AiPlayerbot.PremadeSpecGlyph.4.3 = 42974,43380,45768,43379,43376,42971
|
||
AiPlayerbot.PremadeSpecLink.4.3.60 = 005303103342102522103031--50002
|
||
AiPlayerbot.PremadeSpecLink.4.3.80 = 005303103342102522103031-004-532023203000012
|
||
AiPlayerbot.PremadeSpecName.4.4 = combat pvp
|
||
AiPlayerbot.PremadeSpecGlyph.4.4 = 42972,43380,45762,43376,43378,42971
|
||
AiPlayerbot.PremadeSpecLink.4.4.60 = -3250002050225010223102321251
|
||
AiPlayerbot.PremadeSpecLink.4.4.80 = 305120105-3250002050235010223102521251
|
||
AiPlayerbot.PremadeSpecName.4.5 = subtlety pvp
|
||
AiPlayerbot.PremadeSpecGlyph.4.5 = 42968,43376,45764,43380,43379,42971
|
||
AiPlayerbot.PremadeSpecLink.4.5.60 = --5120212030320121330133221251
|
||
AiPlayerbot.PremadeSpecLink.4.5.80 = 3023031-3-5120212030320121350135231251
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# PRIEST
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.5.0 = disc pve
|
||
AiPlayerbot.PremadeSpecGlyph.5.0 = 42408,43371,42400,43374,43342,45756
|
||
AiPlayerbot.PremadeSpecLink.5.0.60 = 0503203130300512301323131051
|
||
AiPlayerbot.PremadeSpecLink.5.0.80 = 0503203130300512331323231251-03520103
|
||
AiPlayerbot.PremadeSpecName.5.1 = holy pve
|
||
AiPlayerbot.PremadeSpecGlyph.5.1 = 42408,43371,42400,43374,43342,42396
|
||
AiPlayerbot.PremadeSpecLink.5.1.60 = -035050031301152530000331331
|
||
AiPlayerbot.PremadeSpecLink.5.1.80 = 05032031-235050032302152530000331351
|
||
AiPlayerbot.PremadeSpecName.5.2 = shadow pve
|
||
AiPlayerbot.PremadeSpecGlyph.5.2 = 42406,43371,42407,43374,43342,42415
|
||
AiPlayerbot.PremadeSpecLink.5.2.60 = --325003041203010323150301351
|
||
AiPlayerbot.PremadeSpecLink.5.2.80 = 0503203--325023051223010323152301351
|
||
AiPlayerbot.PremadeSpecName.5.3 = disc pvp
|
||
AiPlayerbot.PremadeSpecGlyph.5.3 = 42408,43371,45760,43370,43374,45756
|
||
AiPlayerbot.PremadeSpecLink.5.3.60 = 5003203130320512201323031051
|
||
AiPlayerbot.PremadeSpecLink.5.3.80 = 5003203130322512331013231151-23050113
|
||
AiPlayerbot.PremadeSpecName.5.4 = holy pvp
|
||
AiPlayerbot.PremadeSpecGlyph.5.4 = 42411,43371,42408,43370,43374,45755
|
||
AiPlayerbot.PremadeSpecLink.5.4.60 = -235501031000152430320031151
|
||
AiPlayerbot.PremadeSpecLink.5.4.80 = 500320313-235501031000152530320031351
|
||
AiPlayerbot.PremadeSpecName.5.5 = shadow pvp
|
||
AiPlayerbot.PremadeSpecGlyph.5.5 = 42407,43371,45753,43370,43374,42408
|
||
AiPlayerbot.PremadeSpecLink.5.5.60 = --005323241223112003102311351
|
||
AiPlayerbot.PremadeSpecLink.5.5.80 = 50332031003--005323241223112003102311351
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# DEATH KNIGHT
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.6.0 = blood pve
|
||
AiPlayerbot.PremadeSpecGlyph.6.0 = 45805,43673,43827,43544,43672,43554
|
||
AiPlayerbot.PremadeSpecLink.6.0.60 = 035502150300331320102013111-005
|
||
AiPlayerbot.PremadeSpecLink.6.0.80 = 0355021533003313201020131351-005-005032
|
||
AiPlayerbot.PremadeSpecName.6.1 = frost pve
|
||
AiPlayerbot.PremadeSpecGlyph.6.1 = 45805,43673,43547,43544,43672,43543
|
||
AiPlayerbot.PremadeSpecLink.6.1.60 = -32003350332203012300023101351
|
||
AiPlayerbot.PremadeSpecLink.6.1.80 = -32002350352203012300033101351-230200305003
|
||
AiPlayerbot.PremadeSpecName.6.2 = unholy pve
|
||
AiPlayerbot.PremadeSpecGlyph.6.2 = 43542,43673,43546,43544,43672,43549
|
||
AiPlayerbot.PremadeSpecLink.6.2.60 = --2301303050032151000150013131151
|
||
AiPlayerbot.PremadeSpecLink.6.2.80 = -320033500002-2301303050032151000150013133151
|
||
AiPlayerbot.PremadeSpecName.6.3 = double aura blood pve
|
||
AiPlayerbot.PremadeSpecGlyph.6.3 = 45805,43673,43827,43544,43672,43554
|
||
AiPlayerbot.PremadeSpecLink.6.3.60 = 005512153330030320102013-305
|
||
AiPlayerbot.PremadeSpecLink.6.3.80 = 005512153330030320102013-3050505002023001-002
|
||
AiPlayerbot.PremadeSpecName.6.4 = blood pvp
|
||
AiPlayerbot.PremadeSpecGlyph.6.4 = 43534,43535,45799,43673,43672,45805
|
||
AiPlayerbot.PremadeSpecLink.6.4.60 = 2305021503003313201222101351
|
||
AiPlayerbot.PremadeSpecLink.6.4.80 = 2305021503003313201222101351--032232300023
|
||
AiPlayerbot.PremadeSpecName.6.5 = frost pvp
|
||
AiPlayerbot.PremadeSpecGlyph.6.5 = 43543,43539,45800,43673,43672,45806
|
||
AiPlayerbot.PremadeSpecLink.6.5.60 = -32015351022203012001233101251
|
||
AiPlayerbot.PremadeSpecLink.6.5.80 = 0055-32015351052203012001233131351-03
|
||
AiPlayerbot.PremadeSpecName.6.6 = unholy pvp
|
||
AiPlayerbot.PremadeSpecGlyph.6.6 = 45804,43539,43549,43673,43672,45805
|
||
AiPlayerbot.PremadeSpecLink.6.6.60 = --2301323301002152230101203103151
|
||
AiPlayerbot.PremadeSpecLink.6.6.80 = -320050410002-2301323301002152230101203133151
|
||
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# SHAMAN
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.7.0 = ele pve
|
||
AiPlayerbot.PremadeSpecGlyph.7.0 = 41536,43385,41532,43386,44923,45776
|
||
AiPlayerbot.PremadeSpecLink.7.0.60 = 4530001520213351102301351
|
||
AiPlayerbot.PremadeSpecLink.7.0.80 = 3530001523213351322301351-005050031
|
||
AiPlayerbot.PremadeSpecName.7.1 = enh pve
|
||
AiPlayerbot.PremadeSpecGlyph.7.1 = 41530,43385,41539,43386,44923,45771
|
||
AiPlayerbot.PremadeSpecLink.7.1.60 = -30305003105021333031121131051
|
||
AiPlayerbot.PremadeSpecLink.7.1.80 = 053030152-30305003105021333031131131051
|
||
AiPlayerbot.PremadeSpecName.7.2 = resto pve
|
||
AiPlayerbot.PremadeSpecGlyph.7.2 = 41527,43385,41517,43386,44923,45775
|
||
AiPlayerbot.PremadeSpecLink.7.2.60 = --50005301235310501102321251
|
||
AiPlayerbot.PremadeSpecLink.7.2.80 = -00502033-50005331335310501122331251
|
||
AiPlayerbot.PremadeSpecName.7.3 = ele pvp
|
||
AiPlayerbot.PremadeSpecGlyph.7.3 = 45778,43388,45770,43725,43386,41524
|
||
AiPlayerbot.PremadeSpecLink.7.3.60 = 0533001503213051322301341
|
||
AiPlayerbot.PremadeSpecLink.7.3.80 = 0533051503213051322331351-023212001
|
||
AiPlayerbot.PremadeSpecName.7.4 = enh pvp
|
||
AiPlayerbot.PremadeSpecGlyph.7.4 = 45778,43388,41526,43725,43344,45771
|
||
AiPlayerbot.PremadeSpecLink.7.4.60 = -02305203105001333201131131151
|
||
AiPlayerbot.PremadeSpecLink.7.4.80 = 0503351-02305203105001333211131231251
|
||
AiPlayerbot.PremadeSpecName.7.5 = resto pvp
|
||
AiPlayerbot.PremadeSpecGlyph.7.5 = 45778,43388,45775,43725,43344,41535
|
||
AiPlayerbot.PremadeSpecLink.7.5.60 = --05032331331013501120321251
|
||
AiPlayerbot.PremadeSpecLink.7.5.80 = -023222301004-05032331331013501120331251
|
||
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# MAGE
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.8.0 = arcane pve
|
||
AiPlayerbot.PremadeSpecGlyph.8.0 = 42735,43339,44955,43364,43361,42751
|
||
AiPlayerbot.PremadeSpecLink.8.0.60 = 230005231100330150323102500321
|
||
AiPlayerbot.PremadeSpecLink.8.0.80 = 230005231100330150323102505321-03-203303001
|
||
AiPlayerbot.PremadeSpecName.8.1 = fire pve
|
||
AiPlayerbot.PremadeSpecGlyph.8.1 = 42739,43339,45737,43364,44920,42751
|
||
AiPlayerbot.PremadeSpecLink.8.1.60 = -0055030011302231053120321341
|
||
AiPlayerbot.PremadeSpecLink.8.1.80 = 23000503110003-0055030011302331053120321351
|
||
AiPlayerbot.PremadeSpecName.8.2 = frost pve
|
||
AiPlayerbot.PremadeSpecGlyph.8.2 = 42742,43339,50045,43364,43361,42751
|
||
AiPlayerbot.PremadeSpecLink.8.2.60 = --0533030313203100030152231151
|
||
AiPlayerbot.PremadeSpecLink.8.2.80 = 23002303110003--0533030313203100030152231351
|
||
AiPlayerbot.PremadeSpecName.8.3 = frostfire pve
|
||
AiPlayerbot.PremadeSpecGlyph.8.3 = 44684,44920,42751,43339,43364,45737
|
||
AiPlayerbot.PremadeSpecLink.8.3.60 = -2305032012303331053120300051
|
||
AiPlayerbot.PremadeSpecLink.8.3.80 = -2305032012303331053120321351-023302031
|
||
AiPlayerbot.PremadeSpecName.8.4 = arcane pvp
|
||
AiPlayerbot.PremadeSpecGlyph.8.4 = 42735,43364,42738,43360,43357,42752
|
||
AiPlayerbot.PremadeSpecLink.8.4.60 = 205323200122032103303102015221
|
||
AiPlayerbot.PremadeSpecLink.8.4.80 = 205323200122032103303102015321-23002-303020301
|
||
AiPlayerbot.PremadeSpecName.8.5 = fire pvp
|
||
AiPlayerbot.PremadeSpecGlyph.8.5 = 42738,43364,42752,43360,43357,45737
|
||
AiPlayerbot.PremadeSpecLink.8.5.60 = -2305202312020031223122301351
|
||
AiPlayerbot.PremadeSpecLink.8.5.80 = 230321030122-2305212312020031223122301351
|
||
AiPlayerbot.PremadeSpecName.8.6 = frost pvp
|
||
AiPlayerbot.PremadeSpecGlyph.8.6 = 42738,43364,45740,43357,43360,42752
|
||
AiPlayerbot.PremadeSpecLink.8.6.60 = --3533203210203100232102231151
|
||
AiPlayerbot.PremadeSpecLink.8.6.80 = 23032103010203--3533203210203100232102231151
|
||
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# WARLOCK
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.9.0 = affli pve
|
||
AiPlayerbot.PremadeSpecGlyph.9.0 = 45785,43390,50077,43394,43393,45779
|
||
AiPlayerbot.PremadeSpecLink.9.0.60 = 2350022001113510053500131151
|
||
AiPlayerbot.PremadeSpecLink.9.0.70 = 2350022001113510053500131151--55
|
||
AiPlayerbot.PremadeSpecLink.9.0.80 = 2350022001123510253500331151--55000005
|
||
AiPlayerbot.PremadeSpecName.9.1 = demo pve
|
||
AiPlayerbot.PremadeSpecGlyph.9.1 = 45785,43390,50077,43394,43393,42459
|
||
AiPlayerbot.PremadeSpecLink.9.1.60 = -003203301135112530135201051
|
||
AiPlayerbot.PremadeSpecLink.9.1.70 = -003203301135112530135201051-55
|
||
AiPlayerbot.PremadeSpecLink.9.1.80 = -003203301135112530135221351-55000005
|
||
AiPlayerbot.PremadeSpecName.9.2 = destro pve
|
||
AiPlayerbot.PremadeSpecGlyph.9.2 = 45785,43390,42454,43394,43393,42453
|
||
AiPlayerbot.PremadeSpecLink.9.2.60 = --05203215200231051305031151
|
||
AiPlayerbot.PremadeSpecLink.9.2.80 = 23-0302-05203215220331051335231351
|
||
AiPlayerbot.PremadeSpecName.9.3 = affli pvp
|
||
AiPlayerbot.PremadeSpecGlyph.9.3 = 50077,43392,42455,43390,43389,45783
|
||
AiPlayerbot.PremadeSpecLink.9.3.60 = 0350002231223011053502301151
|
||
AiPlayerbot.PremadeSpecLink.9.3.80 = 2350002231223111053502301151-2032003011302
|
||
AiPlayerbot.PremadeSpecName.9.4 = demo pvp
|
||
AiPlayerbot.PremadeSpecGlyph.9.4 = 42459,43392,45780,43390,43389,45783
|
||
AiPlayerbot.PremadeSpecLink.9.4.60 = -003203301135202530135001251
|
||
AiPlayerbot.PremadeSpecLink.9.4.80 = -003203301135202530135011351-052300152
|
||
AiPlayerbot.PremadeSpecName.9.5 = destro pvp
|
||
AiPlayerbot.PremadeSpecGlyph.9.5 = 42471,43392,42454,43390,43389,45783
|
||
AiPlayerbot.PremadeSpecLink.9.5.60 = --05230015220331351005031051
|
||
AiPlayerbot.PremadeSpecLink.9.5.80 = -2032003311302-05230015220331351005031051
|
||
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# DRUID
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.PremadeSpecName.11.0 = balance pve
|
||
AiPlayerbot.PremadeSpecGlyph.11.0 = 40916,43331,40921,43335,44922,40919
|
||
AiPlayerbot.PremadeSpecLink.11.0.60 = 5022203105331003213005301231
|
||
AiPlayerbot.PremadeSpecLink.11.0.80 = 5032203105331303213305301231--205003012
|
||
AiPlayerbot.PremadeSpecName.11.1 = bear pve
|
||
AiPlayerbot.PremadeSpecGlyph.11.1 = 40897,43331,46372,43335,43332,40899
|
||
AiPlayerbot.PremadeSpecLink.11.1.60 = -500232130322110353100301310501
|
||
AiPlayerbot.PremadeSpecLink.11.1.80 = -501232130322110353120303313511-20350001
|
||
AiPlayerbot.PremadeSpecName.11.2 = resto pve
|
||
AiPlayerbot.PremadeSpecGlyph.11.2 = 40913,43331,40906,43335,44922,45602
|
||
AiPlayerbot.PremadeSpecLink.11.2.60 = --230033312031500531050113051
|
||
AiPlayerbot.PremadeSpecLink.11.2.80 = 05320031--230033312031501531053313051
|
||
AiPlayerbot.PremadeSpecName.11.3 = cat pve
|
||
AiPlayerbot.PremadeSpecGlyph.11.3 = 40902,43331,40901,43335,44922,45604
|
||
AiPlayerbot.PremadeSpecLink.11.3.60 = -552202032322010053100030310501
|
||
AiPlayerbot.PremadeSpecLink.11.3.80 = -553202032322010053100030310511-205503012
|
||
AiPlayerbot.PremadeSpecName.11.4 = balance pvp
|
||
AiPlayerbot.PremadeSpecGlyph.11.4 = 40921,43331,45622,43674,43335,45623
|
||
AiPlayerbot.PremadeSpecLink.11.4.60 = 5012203115331002213032311231
|
||
AiPlayerbot.PremadeSpecLink.11.4.80 = 5022203125331003213035311231--230033012
|
||
AiPlayerbot.PremadeSpecName.11.5 = cat pvp
|
||
AiPlayerbot.PremadeSpecGlyph.11.5 = 40902,43331,45601,43674,43335,40901
|
||
AiPlayerbot.PremadeSpecLink.11.5.60 = -513202032322010053103030310501
|
||
AiPlayerbot.PremadeSpecLink.11.5.80 = -523202032322010053103030310511-205503012
|
||
AiPlayerbot.PremadeSpecName.11.6 = resto pvp
|
||
AiPlayerbot.PremadeSpecGlyph.11.6 = 40913,43331,40906,43335,43674,45623
|
||
AiPlayerbot.PremadeSpecLink.11.6.60 = --230033312031500511350013051
|
||
AiPlayerbot.PremadeSpecLink.11.6.80 = 05320021--230033312031500531353013251
|
||
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
###################################
|
||
# #
|
||
# WORLD BUFFS #
|
||
# #
|
||
###################################
|
||
|
||
####################################################################################################
|
||
#
|
||
#
|
||
#
|
||
|
||
# Applies automatically refreshing buffs to bots simulating effects of spells, flasks, food, runes, etc.
|
||
# Requires sending the command "nc +worldbuff" in chat to a bot (or a group of bots) to enable
|
||
# Each entry in the matrix should be formatted as follows: Entry:FactionID,ClassID,SpecID,MinimumLevel,MaximumLevel:SpellID1,SpellID2,etc.;
|
||
# FactionID may be set to 0 for the entry to apply buffs to bots of either faction
|
||
# The default entries create a cross-faction level 60-69 Vanilla buffs, level 70-79 TBC buffs, and level 80 buffs for each implemented pve spec from the "Premade Specs" section
|
||
# The default entries may be deleted or modified, and new custom entries may be added
|
||
|
||
AiPlayerbot.WorldBuffMatrix = # WARRIOR ARMS 1:0,1,0,80,80:53760,57358; # WARRIOR FURY 2:0,1,1,80,80:53760,57358; # WARRIOR PROTECTION 3:0,1,2,80,80:53758,57356; # PALADIN HOLY 4:0,2,0,80,80:53749,57332,60347; # PALADIN PROTECTION 5:0,2,1,80,80:53758,57356; # PALADIN RETRIBUTION 6:0,2,2,80,80:53760,57371; # HUNTER BEAST 7:0,3,0,80,80:53760,57325; # HUNTER MARKSMANSHIP 8:0,3,1,80,80:53760,57358; # HUNTER SURVIVAL 9:0,3,2,80,80:53760,57367; # ROGUE ASSASSINATION 10:0,4,0,80,80:53760,57325; # ROGUE COMBAT 11:0,4,1,80,80:53760,57358; # ROGUE SUBTLETY 12:0,4,2,80,80:53760,57367; # PRIEST DISCIPLINE 13:0,5,0,80,80:53755,57327; # PRIEST HOLY 14:0,5,1,80,80:53755,57327; # PRIEST SHADOW 15:0,5,2,80,80:53755,57327; # DEATH KNIGHT BLOOD 16:0,6,0,80,80:53758,57356; # DEATH KNIGHT FROST 17:0,6,1,80,80:53760,57358; # DEATH KNIGHT UNHOLY 18:0,6,2,80,80:53760,57358; # DEATH KNIGHT BLOOD DPS 19:0,6,3,80,80:53760,57371; # SHAMAN ELEMENTAL 20:0,7,0,80,80:53755,57327; # SHAMAN ENHANCEMENT 21:0,7,1,80,80:53760,57325; # SHAMAN RESTORATION 22:0,7,2,80,80:53755,57327; # MAGE ARCANE 23:0,8,0,80,80:53755,57327; # MAGE FIRE 24:0,8,1,80,80:53755,57327; # MAGE FROST 25:0,8,2,80,80:53755,57327; # WARLOCK AFFLICTION 26:0,9,0,80,80:53755,57327; # WARLOCK DEMONOLOGY 27:0,9,1,80,80:53755,57327; # WARLOCK DESTRUCTION 28:0,9,2,80,80:53755,57327; # DRUID BALANCE 29:0,11,0,80,80:53755,57327; # DRUID FERAL BEAR 30:0,11,1,80,80:53749,53763,57367; # DRUID RESTORATION 31:0,11,2,80,80:54212,57334; # DRUID FERAL CAT 32:0,11,3,80,80:53760,57358; # WARRIOR ARMS TBC 33:0,1,0,70,79:28520,33256; # WARRIOR FURY TBC 34:0,1,1,70,79:28520,33256; # WARRIOR PROTECTION TBC 35:0,1,2,70,79:28518,33257; # PALADIN HOLY TBC 36:0,2,0,70,79:28491,39627,33263; # PALADIN PROTECTION TBC 37:0,2,1,70,79:28518,33257; # PALADIN RETRIBUTION TBC 38:0,2,2,70,79:28520,33256; # HUNTER BEAST TBC 39:0,3,0,70,79:28520,33261; # HUNTER MARKSMANSHIP TBC 40:0,3,1,70,79:28520,33261; # HUNTER SURVIVAL TBC 41:0,3,2,70,79:28520,33261; # ROGUE ASSASSINATION TBC 42:0,4,0,70,79:28520,33261; # ROGUE COMBAT TBC 43:0,4,1,70,79:28520,33261; # ROGUE SUBTLETY TBC 44:0,4,2,70,79:28520,33261; # PRIEST DISCIPLINE TBC 45:0,5,0,70,79:28491,39627,33263; # PRIEST HOLY TBC 46:0,5,1,70,79:28491,39627,33263; # PRIEST SHADOW TBC 47:0,5,2,70,79:28540,33263; # SHAMAN ELEMENTAL TBC 48:0,7,0,70,79:28521,33263; # SHAMAN ENHANCEMENT TBC 49:0,7,1,70,79:28520,33261; # SHAMAN RESTORATION TBC 50:0,7,2,70,79:28491,39627,33263; # MAGE ARCANE TBC 51:0,8,0,70,79:28521,33263; # MAGE FIRE TBC 52:0,8,1,70,79:28540,33263; # MAGE FROST TBC 53:0,8,2,70,79:28540,33263; # WARLOCK AFFLICTION TBC 54:0,9,0,70,79:28540,33263; # WARLOCK DEMONOLOGY TBC 55:0,9,1,70,79:28540,33263; # WARLOCK DESTRUCTION TBC 56:0,9,2,70,79:28540,33263; # DRUID BALANCE TBC 57:0,11,0,70,79:28521,33263; # DRUID FERAL BEAR TBC 58:0,11,1,70,79:28518,33257; # DRUID RESTORATION TBC 59:0,11,2,70,79:28491,39627,33263; # DRUID FERAL CAT TBC 60:0,11,3,70,79:28520,33261; # WARRIOR ARMS VANILLA 61:0,1,0,60,69:17538,24799; # WARRIOR FURY VANILLA 62:0,1,1,60,69:17538,24799; # WARRIOR PROTECTION VANILLA 63:0,1,2,60,69:17626,25661; # PALADIN HOLY VANILLA 64:0,2,0,60,69:17627,18194; # PALADIN PROTECTION VANILLA 65:0,2,1,60,69:17626,25661; # PALADIN RETRIBUTION VANILLA 66:0,2,2,60,69:17628,24799; # HUNTER BEAST VANILLA 67:0,3,0,60,69:17538,18192; # HUNTER MARKSMANSHIP VANILLA 68:0,3,1,60,69:17538,18192; # HUNTER SURVIVAL VANILLA 69:0,3,2,60,69:17538,18192; # ROGUE ASSASSINATION VANILLA 70:0,4,0,60,69:17538,18192; # ROGUE COMBAT VANILLA 71:0,4,1,60,69:17538,18192; # ROGUE SUBTLETY VANILLA 72:0,4,2,60,69:17538,18192; # PRIEST DISCIPLINE VANILLA 73:0,5,0,60,69:17628,18194; # PRIEST HOLY VANILLA 74:0,5,1,60,69:17627,18194; # PRIEST SHADOW VANILLA 75:0,5,2,60,69:17628,18194; # SHAMAN ELEMENTAL VANILLA 76:0,7,0,60,69:17628,18194; # SHAMAN ENHANCEMENT VANILLA 77:0,7,1,60,69:17538,24799; # SHAMAN RESTORATION VANILLA 78:0,7,2,60,69:17627,18194; # MAGE ARCANE VANILLA 79:0,8,0,60,69:17628,18194; # MAGE FIRE VANILLA 80:0,8,1,60,69:17628,18194; # MAGE FROST VANILLA 81:0,8,2,60,69:17628,18194; # WARLOCK AFFLICTION VANILLA 82:0,9,0,60,69:17628,25661; # WARLOCK DEMONOLOGY VANILLA 83:0,9,1,60,69:17628,25661; # WARLOCK DESTRUCTION VANILLA 84:0,9,2,60,69:17628,25661; # DRUID BALANCE VANILLA 85:0,11,0,60,69:17628,18194; # DRUID FERAL BEAR VANILLA 86:0,11,1,60,69:17626,25661; # DRUID RESTORATION VANILLA 87:0,11,2,60,69:17627,18194; # DRUID FERAL CAT VANILLA 88:0,11,3,60,69:17538,24799
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
###################################
|
||
# #
|
||
# RANDOMBOT DEFAULT TALENT SPECS #
|
||
# #
|
||
###################################
|
||
|
||
####################################################################################################
|
||
#
|
||
#
|
||
#
|
||
|
||
# AiPlayerbot.RandomClassSpecProb.<class>.<specno> # The probability to choose the spec
|
||
# AiPlayerbot.RandomClassSpecIndex.<class>.<specno> # The spec index in PremadeSpec
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# WARRIOR
|
||
#
|
||
#
|
||
|
||
# arms pve
|
||
AiPlayerbot.RandomClassSpecProb.1.0 = 20
|
||
AiPlayerbot.RandomClassSpecIndex.1.0 = 0
|
||
# fury pve
|
||
AiPlayerbot.RandomClassSpecProb.1.1 = 40
|
||
AiPlayerbot.RandomClassSpecIndex.1.1 = 1
|
||
# prot pve
|
||
AiPlayerbot.RandomClassSpecProb.1.2 = 40
|
||
AiPlayerbot.RandomClassSpecIndex.1.2 = 2
|
||
# arms pvp
|
||
AiPlayerbot.RandomClassSpecProb.1.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.1.3 = 3
|
||
# fury pvp
|
||
AiPlayerbot.RandomClassSpecProb.1.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.1.4 = 4
|
||
# prot pvp
|
||
AiPlayerbot.RandomClassSpecProb.1.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.1.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# PALADIN
|
||
#
|
||
#
|
||
|
||
# holy pve
|
||
AiPlayerbot.RandomClassSpecProb.2.0 = 30
|
||
AiPlayerbot.RandomClassSpecIndex.2.0 = 0
|
||
# prot pve
|
||
AiPlayerbot.RandomClassSpecProb.2.1 = 40
|
||
AiPlayerbot.RandomClassSpecIndex.2.1 = 1
|
||
# ret pve
|
||
AiPlayerbot.RandomClassSpecProb.2.2 = 30
|
||
AiPlayerbot.RandomClassSpecIndex.2.2 = 2
|
||
# holy pvp
|
||
AiPlayerbot.RandomClassSpecProb.2.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.2.3 = 3
|
||
# prot pvp
|
||
AiPlayerbot.RandomClassSpecProb.2.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.2.4 = 4
|
||
# ret pvp
|
||
AiPlayerbot.RandomClassSpecProb.2.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.2.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# HUNTER
|
||
#
|
||
#
|
||
|
||
# bm pve
|
||
AiPlayerbot.RandomClassSpecProb.3.0 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.3.0 = 0
|
||
# mm pve
|
||
AiPlayerbot.RandomClassSpecProb.3.1 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.3.1 = 1
|
||
# surv pve
|
||
AiPlayerbot.RandomClassSpecProb.3.2 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.3.2 = 2
|
||
# bm pvp
|
||
AiPlayerbot.RandomClassSpecProb.3.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.3.3 = 3
|
||
# mm pvp
|
||
AiPlayerbot.RandomClassSpecProb.3.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.3.4 = 4
|
||
# surv pvp
|
||
AiPlayerbot.RandomClassSpecProb.3.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.3.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# ROGUE
|
||
#
|
||
#
|
||
|
||
# as pve
|
||
AiPlayerbot.RandomClassSpecProb.4.0 = 45
|
||
AiPlayerbot.RandomClassSpecIndex.4.0 = 0
|
||
# combat pve
|
||
AiPlayerbot.RandomClassSpecProb.4.1 = 45
|
||
AiPlayerbot.RandomClassSpecIndex.4.1 = 1
|
||
# subtlety pve
|
||
AiPlayerbot.RandomClassSpecProb.4.2 = 10
|
||
AiPlayerbot.RandomClassSpecIndex.4.2 = 2
|
||
# as pvp
|
||
AiPlayerbot.RandomClassSpecProb.4.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.4.3 = 3
|
||
# combat pvp
|
||
AiPlayerbot.RandomClassSpecProb.4.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.4.4 = 4
|
||
# subtlety pvp
|
||
AiPlayerbot.RandomClassSpecProb.4.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.4.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# PRIEST
|
||
#
|
||
#
|
||
|
||
# disc pve
|
||
AiPlayerbot.RandomClassSpecProb.5.0 = 40
|
||
AiPlayerbot.RandomClassSpecIndex.5.0 = 0
|
||
# holy pve
|
||
AiPlayerbot.RandomClassSpecProb.5.1 = 35
|
||
AiPlayerbot.RandomClassSpecIndex.5.1 = 1
|
||
# shadow pve
|
||
AiPlayerbot.RandomClassSpecProb.5.2 = 25
|
||
AiPlayerbot.RandomClassSpecIndex.5.2 = 2
|
||
# disc pvp
|
||
AiPlayerbot.RandomClassSpecProb.5.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.5.3 = 3
|
||
# holy pvp
|
||
AiPlayerbot.RandomClassSpecProb.5.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.5.4 = 4
|
||
# shadow pvp
|
||
AiPlayerbot.RandomClassSpecProb.5.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.5.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# DEATH KNIGHT
|
||
#
|
||
#
|
||
|
||
# blood pve
|
||
AiPlayerbot.RandomClassSpecProb.6.0 = 30
|
||
AiPlayerbot.RandomClassSpecIndex.6.0 = 0
|
||
# frost pve
|
||
AiPlayerbot.RandomClassSpecProb.6.1 = 40
|
||
AiPlayerbot.RandomClassSpecIndex.6.1 = 1
|
||
# unholy pve
|
||
AiPlayerbot.RandomClassSpecProb.6.2 = 30
|
||
AiPlayerbot.RandomClassSpecIndex.6.2 = 2
|
||
# double aura blood pve
|
||
AiPlayerbot.RandomClassSpecProb.6.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.6.3 = 3
|
||
# blood pvp
|
||
AiPlayerbot.RandomClassSpecProb.6.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.6.4 = 4
|
||
# frost pvp
|
||
AiPlayerbot.RandomClassSpecProb.6.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.6.5 = 5
|
||
# unholy pvp
|
||
AiPlayerbot.RandomClassSpecProb.6.6 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.6.6 = 6
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# SHAMAN
|
||
#
|
||
#
|
||
|
||
# ele pve
|
||
AiPlayerbot.RandomClassSpecProb.7.0 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.7.0 = 0
|
||
# enh pve
|
||
AiPlayerbot.RandomClassSpecProb.7.1 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.7.1 = 1
|
||
# resto pve
|
||
AiPlayerbot.RandomClassSpecProb.7.2 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.7.2 = 2
|
||
# ele pvp
|
||
AiPlayerbot.RandomClassSpecProb.7.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.7.3 = 3
|
||
# enh pvp
|
||
AiPlayerbot.RandomClassSpecProb.7.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.7.4 = 4
|
||
# resto pvp
|
||
AiPlayerbot.RandomClassSpecProb.7.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.7.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# MAGE
|
||
#
|
||
#
|
||
|
||
# arcane pve
|
||
AiPlayerbot.RandomClassSpecProb.8.0 = 30
|
||
AiPlayerbot.RandomClassSpecIndex.8.0 = 0
|
||
# fire pve
|
||
AiPlayerbot.RandomClassSpecProb.8.1 = 30
|
||
AiPlayerbot.RandomClassSpecIndex.8.1 = 1
|
||
# frost pve
|
||
AiPlayerbot.RandomClassSpecProb.8.2 = 40
|
||
AiPlayerbot.RandomClassSpecIndex.8.2 = 2
|
||
# frostfire pve
|
||
AiPlayerbot.RandomClassSpecProb.8.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.8.3 = 3
|
||
# arcane pvp
|
||
AiPlayerbot.RandomClassSpecProb.8.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.8.4 = 4
|
||
# fire pvp
|
||
AiPlayerbot.RandomClassSpecProb.8.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.8.5 = 5
|
||
# frost pvp
|
||
AiPlayerbot.RandomClassSpecProb.8.6 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.8.6 = 6
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# WARLOCK
|
||
#
|
||
#
|
||
|
||
# affli pve
|
||
AiPlayerbot.RandomClassSpecProb.9.0 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.9.0 = 0
|
||
# demo pve
|
||
AiPlayerbot.RandomClassSpecProb.9.1 = 34
|
||
AiPlayerbot.RandomClassSpecIndex.9.1 = 1
|
||
# destro pve
|
||
AiPlayerbot.RandomClassSpecProb.9.2 = 33
|
||
AiPlayerbot.RandomClassSpecIndex.9.2 = 2
|
||
# affli pvp
|
||
AiPlayerbot.RandomClassSpecProb.9.3 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.9.3 = 3
|
||
# demo pvp
|
||
AiPlayerbot.RandomClassSpecProb.9.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.9.4 = 4
|
||
# destro pvp
|
||
AiPlayerbot.RandomClassSpecProb.9.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.9.5 = 5
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# DRUID
|
||
#
|
||
#
|
||
|
||
# balance pve
|
||
AiPlayerbot.RandomClassSpecProb.11.0 = 20
|
||
AiPlayerbot.RandomClassSpecIndex.11.0 = 0
|
||
# bear pve
|
||
AiPlayerbot.RandomClassSpecProb.11.1 = 25
|
||
AiPlayerbot.RandomClassSpecIndex.11.1 = 1
|
||
# resto pve
|
||
AiPlayerbot.RandomClassSpecProb.11.2 = 35
|
||
AiPlayerbot.RandomClassSpecIndex.11.2 = 2
|
||
# cat pve
|
||
AiPlayerbot.RandomClassSpecProb.11.3 = 20
|
||
AiPlayerbot.RandomClassSpecIndex.11.3 = 3
|
||
# balance pvp
|
||
AiPlayerbot.RandomClassSpecProb.11.4 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.11.4 = 4
|
||
# cat pvp
|
||
AiPlayerbot.RandomClassSpecProb.11.5 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.11.5 = 5
|
||
# resto pvp
|
||
AiPlayerbot.RandomClassSpecProb.11.6 = 0
|
||
AiPlayerbot.RandomClassSpecIndex.11.6 = 6
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
|
||
###################################
|
||
# #
|
||
# PLAYERBOTS SYSTEM SETTINGS #
|
||
# #
|
||
###################################
|
||
|
||
####################################################################################################
|
||
# DATABASE & CONNECTIONS
|
||
#
|
||
#
|
||
|
||
# PlayerbotsDatabaseInfo
|
||
# Description: Database connection settings for the playerbots server.
|
||
# Example: "hostname;port;username;password;database"
|
||
# ".;somenumber;username;password;database" - (Use named pipes on Windows
|
||
# "enable-named-pipe" to [mysqld]
|
||
# section my.ini)
|
||
# ".;/path/to/unix_socket;username;password;database" - (use Unix sockets on
|
||
# Unix/Linux)
|
||
# Default: "127.0.0.1;3306;acore;acore;acore_playerbots" - (PlayerbotDatabaseInfo)
|
||
|
||
PlayerbotsDatabaseInfo = "127.0.0.1;3306;acore;acore;acore_playerbots"
|
||
|
||
#
|
||
# PlayerbotsDatabase.WorkerThreads
|
||
# Description: The amount of worker threads spawned to handle asynchronous (delayed) MySQL
|
||
# statements. Each worker thread is mirrored with its own connection to the
|
||
# MySQL server and their own thread on the MySQL server.
|
||
# Default: 1 - (PlayerbotsDatabase.WorkerThreads)
|
||
|
||
PlayerbotsDatabase.WorkerThreads = 1
|
||
|
||
#
|
||
# PlayerbotsDatabase.SynchThreads
|
||
# Description: The amount of MySQL connections spawned to handle.
|
||
# Default: 1 - (PlayerbotDatabase.WorkerThreads)
|
||
|
||
PlayerbotsDatabase.SynchThreads = 1
|
||
|
||
# Playerbot.Updates.EnableDatabases
|
||
# Description: Determined if updates system work with playerbots database.
|
||
#
|
||
# Default: 1 - (Enabled)
|
||
# 0 - (Disabled)
|
||
|
||
Playerbots.Updates.EnableDatabases = 1
|
||
|
||
# Command server port, 0 - disabled
|
||
AiPlayerbot.CommandServerPort = 8888
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# DEBUG SWITCHES
|
||
#
|
||
#
|
||
|
||
AiPlayerbot.SpellDump = 0
|
||
AiPlayerbot.LogInGroupOnly = 1
|
||
AiPlayerbot.LogValuesPerTick = 0
|
||
AiPlayerbot.RandomChangeMultiplier = 1
|
||
|
||
# Tell which spell is avoiding (experimental)
|
||
# Default: 0 (disabled)
|
||
AiPlayerbot.TellWhenAvoidAoe = 0
|
||
|
||
# Enable/Disable performance monitor
|
||
AiPlayerbot.PerfMonEnabled = 0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# CHAT SETTINGS
|
||
#
|
||
#
|
||
|
||
# Prefix for bot chat commands (e.g., follow, stay)
|
||
AiPlayerbot.CommandPrefix = ""
|
||
|
||
# Separator for bot chat commands
|
||
AiPlayerbot.CommandSeparator = "\\\\"
|
||
|
||
# Enable bots talking (say / yell / general chatting / lfg)
|
||
AiPlayerbot.RandomBotTalk = 1
|
||
# Enable bots emoting
|
||
AiPlayerbot.RandomBotEmote = 0
|
||
# Enable randombots suggesting dungeons in chat
|
||
AiPlayerbot.RandomBotSuggestDungeons = 1
|
||
# Bots greet players when invited
|
||
AiPlayerbot.EnableGreet = 0
|
||
# Chance to reply to toxic links with toxic links (0-100)
|
||
AiPlayerbot.ToxicLinksRepliesChance = 30
|
||
# Chance to reply to Thunderfury with Thunderfury (0-100)
|
||
AiPlayerbot.ThunderfuryRepliesChance = 40
|
||
# Enable bots chatting in guild about certain events
|
||
AIPlayerbot.GuildFeedback = 1
|
||
# Chance bots will chat in guild about certain events (int) (0-100)
|
||
AiPlayerbot.GuildRepliesRate = 100
|
||
# Bots without a master will say their lines
|
||
AiPlayerbot.RandomBotSayWithoutMaster = 0
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# Broadcast rates
|
||
#
|
||
#
|
||
|
||
# Enable/disable broadcasts globally
|
||
# Default: 1 (enabled)
|
||
AiPlayerbot.EnableBroadcasts = 1
|
||
#
|
||
# All broadcast chances should be in range 0-30000
|
||
# Value of 0 will disable this particular broadcast
|
||
# Setting value to 30000 does not guarantee the broadcast, as there are some internal randoms as well
|
||
#
|
||
# 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
|
||
AiPlayerbot.BroadcastToGuildGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToWorldGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToGeneralGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToTradeGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToLFGGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToLocalDefenseGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToWorldDefenseGlobalChance = 30000
|
||
AiPlayerbot.BroadcastToGuildRecruitmentGlobalChance = 30000
|
||
#
|
||
# Individual settings
|
||
# Setting one of these to 0 will disable the particular broadcast
|
||
AiPlayerbot.BroadcastChanceLootingItemPoor = 30
|
||
AiPlayerbot.BroadcastChanceLootingItemNormal = 150
|
||
AiPlayerbot.BroadcastChanceLootingItemUncommon = 10000
|
||
AiPlayerbot.BroadcastChanceLootingItemRare = 20000
|
||
AiPlayerbot.BroadcastChanceLootingItemEpic = 30000
|
||
AiPlayerbot.BroadcastChanceLootingItemLegendary = 30000
|
||
AiPlayerbot.BroadcastChanceLootingItemArtifact = 30000
|
||
#
|
||
AiPlayerbot.BroadcastChanceQuestAccepted = 6000
|
||
AiPlayerbot.BroadcastChanceQuestUpdateObjectiveCompleted = 300
|
||
AiPlayerbot.BroadcastChanceQuestUpdateObjectiveProgress = 300
|
||
AiPlayerbot.BroadcastChanceQuestUpdateFailedTimer = 300
|
||
AiPlayerbot.BroadcastChanceQuestUpdateComplete = 1000
|
||
AiPlayerbot.BroadcastChanceQuestTurnedIn = 10000
|
||
#
|
||
AiPlayerbot.BroadcastChanceKillNormal = 30
|
||
AiPlayerbot.BroadcastChanceKillElite = 300
|
||
AiPlayerbot.BroadcastChanceKillRareelite = 3000
|
||
AiPlayerbot.BroadcastChanceKillWorldboss = 20000
|
||
AiPlayerbot.BroadcastChanceKillRare = 10000
|
||
AiPlayerbot.BroadcastChanceKillUnknown = 100
|
||
AiPlayerbot.BroadcastChanceKillPet = 10
|
||
AiPlayerbot.BroadcastChanceKillPlayer = 30
|
||
#
|
||
AiPlayerbot.BroadcastChanceLevelupGeneric = 20000
|
||
AiPlayerbot.BroadcastChanceLevelupTenX = 30000
|
||
AiPlayerbot.BroadcastChanceLevelupMaxLevel = 30000
|
||
#
|
||
AiPlayerbot.BroadcastChanceSuggestInstance = 5000
|
||
AiPlayerbot.BroadcastChanceSuggestQuest = 10000
|
||
AiPlayerbot.BroadcastChanceSuggestGrindMaterials = 5000
|
||
AiPlayerbot.BroadcastChanceSuggestGrindReputation = 5000
|
||
AiPlayerbot.BroadcastChanceSuggestSell = 300
|
||
AiPlayerbot.BroadcastChanceSuggestSomething = 30000
|
||
#
|
||
# Bots will say very rude things
|
||
AiPlayerbot.BroadcastChanceSuggestSomethingToxic = 0
|
||
#
|
||
# Specifically for "<word> [item link]"
|
||
AiPlayerbot.BroadcastChanceSuggestToxicLinks = 0
|
||
#
|
||
# Prefix is used as a word in "<word> [item link]"
|
||
AiPlayerbot.ToxicLinksPrefix = gnomes
|
||
#
|
||
# Chance to suggest Thunderfury
|
||
AiPlayerbot.BroadcastChanceSuggestThunderfury = 1
|
||
#
|
||
# Does not depend on global chance
|
||
AiPlayerbot.BroadcastChanceGuildManagement = 30000
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# LOGS
|
||
#
|
||
#
|
||
|
||
# Custom config to allow logfiles to be created.
|
||
# Example: AiPlayerbot.AllowedLogFiles = travelNodes.csv,travelPaths.csv,TravelNodeStore.h,bot_movement.csv,bot_location.csv
|
||
AiPlayerbot.AllowedLogFiles = ""
|
||
|
||
#
|
||
#
|
||
#
|
||
####################################################################################################
|
||
|
||
####################################################################################################
|
||
# A list of gameObject GUID's that are not allowed for bots to interact with.
|
||
#
|
||
AiPlayerbot.DisallowedGameObjects = 176213,17155,2656,74448,19020,3719,3658,3705,3706,105579,75293,2857,179490,141596,160836,160845,179516,176224,181085,176112,128308,128403,165739,165738,175245,175970,176325,176327,123329,2560
|
||
#
|
||
# List of GUID's:
|
||
# QuestItems:
|
||
# 176213 = Blood of Heroes, 17155 = Defias Gunpowder, 2656 = Waterlogged Envelope, 123329 = Baelogs Chest, 2560 = Half-Buried Bottle
|
||
# Chests:
|
||
# Large Solid Chest = 74448, Box of Assorted Parts = 19020, Food Crate = 3719, Water Barrel = 3658, Barrel of Milk = 3705, Barrel of sweet Nectar = 3706, Tattered Chest = 105579, Large bettered Chest = 75293, Solid Chest = 2857, Battered Foodlocker = 179490, Witch Doctor's Chest = 141596, Relic Coffer = 160836, Dark Coffer = 160845, Fengus's Chest = 179516, Supply Crate = 176224/181085, Malor's Strongbox = 176112
|
||
# Other:
|
||
# Shallow Grave (Zul'Farrak) = 128308/128403, Grim Guzzler Boar (Blackrock Depths) = 165739, Dark Iron Ale Mug (Blackrock Depths) = 165738, Father Flame (Blackrock Spire) = 175245, Unforged Runic Breastplate (Blackrock Spire) = 175970, Blacksmithing Plans (Stratholme) = 176325/176327
|
||
# Feel free to edit and help to complete.
|
||
#
|
||
####################################################################################################
|
||
|
||
##############################################
|
||
# Deprecated Settings (yet still in use) #
|
||
##############################################
|
||
|
||
# Log on all randombots on start
|
||
AiPlayerbot.RandomBotLoginAtStartup = 1
|
||
|
||
# Guild Task system
|
||
AiPlayerbot.EnableGuildTasks = 0
|
||
|
||
# Enable dungeon suggestions in lower case randomly
|
||
AiPlayerbot.SuggestDungeonsInLowerCaseRandomly = 0
|
||
|
||
# Chance bot chooses RPG (Teleport to random camp for their level) instead of grinding
|
||
AiPlayerbot.RandomBotRpgChance = 0.20
|
||
|
||
# Set randombots movement speed to walking anywhere
|
||
AiPlayerbot.RandombotsWalkingRPG = 0
|
||
|
||
# Set randombots movement speed to walking only inside buildings
|
||
AiPlayerbot.RandombotsWalkingRPG.InDoors = 0
|
||
|
||
# Premade spell to avoid (undetected spells)
|
||
# spellid-radius, ...
|
||
AiPlayerbot.PremadeAvoidAoe = 62234-4
|
||
|
||
AiPlayerbot.MinRandomBotsPriceChangeInterval = 7200
|
||
AiPlayerbot.MaxRandomBotsPriceChangeInterval = 172800
|
||
AiPlayerbot.MinRandomBotChangeStrategyTime = 180
|
||
AiPlayerbot.MaxRandomBotChangeStrategyTime = 720
|
||
|
||
# How often tasks are changed
|
||
AiPlayerbot.MinGuildTaskChangeTime = 172800
|
||
AiPlayerbot.MaxGuildTaskChangeTime = 432000
|
||
|
||
# Mail spam interval
|
||
AiPlayerbot.MinGuildTaskAdvertisementTime = 300
|
||
AiPlayerbot.MaxGuildTaskAdvertisementTime = 28800
|
||
|
||
# Delay before reward is sent
|
||
AiPlayerbot.MinGuildTaskRewardTime = 300
|
||
AiPlayerbot.MaxGuildTaskRewardTime = 3600
|
||
|
||
# Cleanup of guild tasks interval
|
||
AiPlayerbot.GuildTaskAdvertCleanupTime = 300
|
||
|
||
# Specify max distance between victim and bot when creating guild kill task
|
||
AiPlayerbot.GuildTaskKillTaskDistance = 200
|
||
|
||
# Distance margin for facade calculations
|
||
AiPlayerbot.TargetPosRecalcDistance = 0.1
|
||
|
||
# Allow bots to be summoned near innkeepers
|
||
AiPlayerbot.SummonAtInnkeepersEnabled = 1
|
||
|
||
# Enable buffs in ICC to make Heroic easier and more casual.
|
||
# 30% more damage, 40% damage reduction (tank bots), increased all resistances, reduced threat for non tank bots, increased threat for tank bots.
|
||
# Buffs will be applied on PP, Sindragosa and Lich King
|
||
|
||
AiPlayerbot.EnableICCBuffs = 1
|