- Move Starfall from default actions to AOE strategy only
- Require 2+ enemies for Starfall usage (prevents single-target casting)
- Add CC safety: avoid casting Starfall near current CC targets
- Prioritize Starfall over Hurricane in medium AOE situations
- Remove Starfall from pull/opener rotation to prevent early
single-target usage
This prevents Balance druids from wasting Starfall on single targets
and breaking crowd control effects in group content.
- Removed double "is" in acknowledgements
- Made the acknowledgements section more grammatical by using "based on"
instead of "based off"
- Corrected misspelling of "implemented"
- Standardized instances of "Playerbots" to `mod-playerbots` or properly
capitalized `Playerbots`
- Minor change of "for the continued contributions" to "for their
continued contributions" in the Acknowledgements section
# Fix bot mount behavior when master dismounts
## Summary
Improves bot mount/dismount logic to ensure better coordination with the
master player. The bot now remains mounted when closing distance to a
recently dismounted master and mounts up to assist the master in combat.
The changes have been tested using the testcases described in the second
half of the PR description, which provide some directions on how this PR
can be tested and verified.
Closes: #1660
## Changes
- Add masterInCombat variable to track master combat state
- Modify target-based logic to consider master combat state
- Change mount priority when bot is not in combat to favor
master-following
- Remove combatReach from distance calculations (duplicate)
## Implementation
Added two methods:
- `StayMountedToCloseDistance()` - prevents premature dismounting when
the master dismounts
- `ShouldMountToCloseDistance()` - determines when to mount for master
assistance, even if master is not mounted at this time
Modified Execute() method:
- Target-based shouldMount/shouldDismount considers the master's combat
state
- Combat assistance logic separated from general following
- Mount when master in combat, but the bot is not
Distance logic:
- Combat: dismount at CalculateDismountDistance() (18-25 yards)
- Non-combat: dismount at 10 yards
- Mount threshold: 21+ yards
## Result
- Bots mount to assist masters in combat
- Bots stay mounted longer during travel
- Different dismount distances based on context
- Existing mount selection logic unchanged
# Mount Behavior Testing
## Prerequisites
1. Add a test bot: `.playerbots bot add <charactername>` or `.playerbots
bot addclass <class>`
2. Test in a level-appropriate outdoor area (mobs should not die with
one hit, as this makes testing combat assistance impossible)
3. Both master and bot must have mounts available
## Test 1: Combat Assistance Mounting
**Objective**: Verify bot mounts to assist the master in combat
**Detailed Steps**:
1. Position both master and bot dismounted
2. Command bot to stay: `/w <botname> stay`
3. Move master 35+ yards away from bot
4. Target a nearby mob and attack the mob
5. Command bot to assist: `/w <botname> follow`
**Expected Results**:
- Bot immediately mounts up (within 1-2 seconds cast time)
- Bot rides toward master while mounted
- Bot dismounts at ~18-25 yards from master/mob
- Bot engages in combat to assist
**Failure Indicators**:
- Bot runs dismounted (old behavior)
- Bot never mounts despite distance
- Bot mounts but doesn't dismount at proper assist range
## Test 2: Non-Combat Dismount Distance
**Objective**: Verify bot stays mounted longer during peaceful travel
**Detailed Steps**:
1. Both master and bot start dismounted
2. Mount up: use any mount
3. Verify bot also mounts: `/w <botname> follow`
4. Travel together for 10+ seconds to establish following
5. While moving, dismount master but continue running
6. Observe bot behavior as you move away
**Expected Results**:
- Bot stays mounted while master runs dismounted
- Bot only dismounts when within ~10 yards of master
## Test 3: Target Interference Prevention
**Objective**: Verify target selection doesn't prevent mounting when
master needs help
**Detailed Steps**:
1. Position bot 35+ yards from master: `/w <botname> stay` then move
away
2. Find a mob visible to both master and bot
3. Target the mob (do not attack): click on mob to select it
4. Verify bot can see the target: `/w <botname> attack` (bot should
respond about target)
5. Cancel bot attack: `/w <botname> follow`
6. Now attack the mob yourself (master enters combat)
7. Observe bot behavior immediately after master engages
**Expected Results**:
- Bot mounts up despite having the same target selected
- Bot rides toward combat area while mounted
- Bot dismounts at assist range (~18-25 yards)
- Target selection does not prevent proper mount behavior
**Failure Indicators**:
- Bot runs dismounted toward target (target interference)
- Bot doesn't mount because it's "focused on target"
## Test 4: Basic Mount Following
**Objective**: Verify fundamental mount matching still works
**Detailed Steps**:
1. Start both master and bot dismounted
2. Ensure bot is following: `/w <botname> follow`
3. Mount up on any available mount
4. Wait 2-3 seconds and observe bot
5. Test different mount speeds if available (60%, 100%, 280% speed)
6. Test dismounting and remounting
**Expected Results**:
- Bot mounts within 2-3 seconds of master mounting
- Bot uses appropriate mount speed to match master
- Bot dismounts when master dismounts (basic following)
- No regression in basic mount following behavior
## Test 5: Distance-Based Mounting Threshold
**Objective**: Verify bot mounts at efficient distance threshold (21+
yards)
**Detailed Steps**:
1. Both master and bot start dismounted in safe area (no mobs)
2. Command bot to stay: `/w <botname> stay`
3. Record starting position: `.gps`
4. Walk exactly 15 yards away (short distance)
5. Command bot to follow: `/w <botname> follow`
6. Observe: bot should run dismounted (distance too short)
7. Command bot to stay again: `/w <botname> stay`
8. Walk to 25+ yards away from bot
9. Record new position: `.gps`
10. Command bot to follow: `/w <botname> follow`
**Expected Results**:
- At 15 yards: Bot runs dismounted (inefficient to mount)
- At 25+ yards: Bot mounts up immediately (efficient distance)
- Distance threshold should be ~21 yards based on mount cast time
efficiency
**Distance Calculation**: Use coordinates from `.gps` to verify exact
distances
## Test 6: Druid Form Integration (Druid Master Required)
**Objective**: Verify druid form compatibility with mount system
**Detailed Steps**:
1. Master must be druid with travel form available
2. Start both dismounted: `/w <botname> follow`
3. Shift master to travel form
4. Observe bot response (should mount or shift if druid)
5. Travel together for 10+ seconds
6. Shift master to normal form while moving
7. Observe bot dismount behavior
8. If available, test flight form in appropriate zones
**Expected Results**:
- Druid bot: matches master's form (travel form)
- Non-druid bot: uses equivalent mount speed
- Form changes trigger appropriate bot responses
- Speed matching works between forms and mounts
## Test 7: Battleground Mount Behavior
**Objective**: Verify mount behavior works in PvP environments
**Detailed Steps**:
1. Queue for battleground with bot in party
2. Enter battleground together
3. Test basic mount following in BG
4. Test flag-carrying restrictions (WSG/EotS)
5. Test mounting during BG combat scenarios
**Expected Results**:
- Bot mounts appropriately in battlegrounds
- Flag carrying prevents mounting
- Combat assistance mounting still works in PvP
Closer the original solution, i dont wanna drift to much away without
really good reason. At this point i still see NPC and bots moving
through the levels or even falling out the levels here and there. I
verified whether the MovePoint signature changes and related params
itself in playerbots has anything todo with it, even when params are
hardcoded the behavior remains. It could be deeper problem, but for now
it seems core problem. Therefore i dont wanna change to much until the
dust has settled a bit in core itself.
I havent implemented moveTakeOff or moveLand which are basically
responsible for the transitions phases between ground and air visa
versa. I have version where i use takeOff for the animation, which means
moving vertical. For now i am gonna leave for what it is.
PS: also includes additional movement fix for AreaTriggerAction which we
missed first time after the core update on movements.
@Wishmaster117 Been testing and trying a lot in the background on find
solutions and causes. The general solutions remains removed some tweaks,
altered code here and there. With the general idea to keep closer to the
original code for now at least.
Testing:
- Class abilities: Slow fall (priest), Flight Form (druid) : Green
- BG: Green
- Swimming and walking shallow waters: Green
- Takeoff and land when following master: Green
- Boat and zeppelins: Green
- Flymount and ground walking: Green
- Water Walking (shaman), Path of Frost (DK): Green
- Water Walking (shaman), Path of Frost (DK) transisions; flying,
swimming, water walking: Green
Skipping pets when group water walking, path of frost, once core pathing
changes has settled more i will add it. Which is easy but i dont wanna
add more edge cases and code branches for now.
I've noticed some sprawl in the README.md. The following edits have been
made around the goal of clarity, brevity, and emphases when needed:
- Removed dead link to the Spanish README.md at the top. The
README_ES.md file itself is not removed from the repo, but is however
out of date and does not seem useful at this time
- Removed the addons section. This seems to be covered by the Wiki in
the Documentation section unless I'm mistaken? We can add these back if
needed
- Reorganized installation instructions to emphasize the importance of
using the Playerbots branch of AzerothCore for all installations
- Moved the platform support from the Frequently Asked Questions section
to the installation instructions
- Modified punctuation of bulleted list. These can return if it irks
someone, but it seems easier to read without them
- Added a encouragement to star the project for updates and gain more
visibility
- Removed the Frequently Asked Questions section. I encourage this to be
covered in a wiki page but it can return if deemed necessary. I think a
lot of it can be moved to other sections if we really need them in there
- Added a "Contributing" section that replaces the Coding Standards
section
- Coding Standards are included in the Contributing section
- Added a second link to the Discord server in the Contributing section
- Removed a link to the main Playerbots branch from the introduction
section. This is covered and emphasized in the installation section
instead
- Migrated the encouragements to make bug reports from the introduction,
along with the message that this is still in active development, to the
contributing section
- Reduced redundant language when not necessary (e.g. "As noted above,")
- Updated language around custom branch and require branch for
uniformity. This will make it more clear to the users about the subject
- Removed "Classic" from the "Classic Installation" terminology for
being inaccurate. The subject is now known simply as "Cloning the
Repositories" while "Docker Installation" still remains distinct. This
will make what was formerly known as "Classic Installation" as de facto
default
- Appended the "Documentation" section with add-on information
- Unified all instances of AddOn to the Blizzard spelling without a
hyphen following the WoW 3.3.5a client spelling
- Appended "AzerothCore" to instances of "branch" to ensure readers they
are, in fact, installing AzerothCore here from our required branch
# Eye of the Storm Flag Capture Behavior
## Previous Behavior
- Bots used to interact with the Netherstorm flag the moment they
reached interaction range, leading to instant pickups even before they
were correctly positioned.
- They did not respect the requirement to stand within the capture ring
or dismount before channeling, so the interaction finished immediately
without the intended delay.
## Current Behavior
- Bots now verify they are inside the Eye of the Storm capture circle
and will reposition toward the center flag or base flag until they are
within 2.5 yards of the game object before starting the channel.
- Once inside the circle they dismount, drop shapeshift forms, and come
to a full stop before beginning the channel cast.
- When channeling the center flag capture spell, bots keep checking for
the ongoing `SPELL_CAPTURE_BANNER` cast and wait for it to finish
instead of attempting repeated instant interactions.
- They will be interrupted if they receice any damage
These adjustments align the Eye of the Storm flow with the retail
mechanics and prevent bots from taking the flag instantly when it
spawns.
Fixes#1700.
# Description
This addresses the infamous "Possible hacking attempt" error when bots
were furiously trying to interact with despawned game objects.
The problem was that the game objects were not being as spawned when
evaluating what the bot should do. It was only done when spells were
being cast on entities.
Fix warnings: -Wsign-compare and -Wsign-compare.
I would also like to mention that there are issues with the following
methods:
`IsMainTank` -- in the last loop, it returns the result of comparing the
first alive tank it finds with the current bot, which seems odd.
`IsBotMainTank` -- it is used in only two places in the code (Yogg-Saron
strategy) and has a completely different logic for checking. In the last
loop, it only checks for a suitable tank-bot with a lower index (if it's
not the bot itself). Additionally, there is a logic issue in the loop:
if none of the conditions are met after the first iteration, the method
returns `false`.
Can someone from the maintainers take a look at this section of the code
for possible errors and logic issues?
This update reorganizes and rewrites the random bot timing configuration
section for clarity and accuracy. The previous section was mislabeled as
"INTERVALS" and lacked precise descriptions. The new version:
1. Renames the header to RANDOM BOT TIMING AND BEHAVIOR
2. Adds concise, standardized comments for each parameter
3. Corrects misleading terminology (not all values are intervals)
4. Documents defaults and actual behavior clearly for easier tuning and
maintenance
5. No functional code changes — documentation and readability only.
Note, this is derived information from reading the code.
Please double check if I have captured each param accurately!
Adds a check for if current master left the BG and group, if so release
set master and carry on in BG.
This prevents multiple bots in (potentially multiple different) BG's to
still consider you as their master when you yourself have left.
- Applies when you join BGs with a party of bots.
Fix for issue #1768 where the bot master was not getting reset.
I also cleaned up leave group action to focus up function scope.
I moved the resets from #612 to the actual leaving function.
Disclosure: LLMs were NOT used in authoring this PR.
Test cases to consider for testers.
1. Master disbands group with random bots. Bots should go about their
business.
2. If you can dual box, create a raid where two real player both invite
random bots. One player leaves group, their bots should also leave.
(edge case, if a random bot that is supposed to leave the group becomes
leader they may disband the whole group.
I'm marking this as a draft for now because I haven't done a detailed
review of the code, but I'm posting it now in case anybody wants to give
it a try.
Here's what the strategy (should) do.
### **Channeler Phase**
While you can probably AoE down all five Hellfire Channelers, that's
more dicey with IP nerfs and it's no fun, so the strategy takes what
would have still been considered an aggressive approach back in the day
by (1) assigning the Main Tank to the first Channeler, (2) having
Hunters misdirect two more Channelers to the MT, and (3) one Off Tank
picking up each of the fourth and fifth Channelers and dragging them out
of Shadow Volley Range from the main group. Sometimes the pull gets a
little wonky and one of the OTs might end up with one of the Channelers
that was intended for the MT, but it should work out in the end.
DPS will move through Channelers from Square -> Star -> Circle ->
Diamond -> Triangle. Once Square, Star, and Circle are down, the MT will
go sit by Magtheridon and wait for him to become active instead of
helping with the last two Channelers. I could have made the MT help with
the fourth Channeler too, but it's not needed, and positioning to pick
up Magtheridon after the third Channeler is a failsafe for low DPS
groups that aren't able to get four down before Magtheridon breaks free.
The top priority for Warlocks is to banish/fear the Burning Abyssals,
and they will continue to do so even after Magtheridon becomes active
(you are not supposed to kill the Abyssals; they have a gazillion HP and
automatically despawn after a minute). Their next priority is to put
Curse of Tongues on the Channelers.
### **Magtheridon Positioning**
The MT will pick up Magtheridon and pull him (moving backwards because
Magtheridon kind of hits like a bus) to a position up against the far
wall. Ranged DPS will spread out from a point roughly in the center of
the room, and Healers will spread out from a point that is a little
closer to Magtheridon. I have not built in aoe avoidance (except for
cube clickers, see below) because the general avoid aoe strategy seems
to work fine for this fight.
### **Clicking Manticron Cubes**
Now, the fun part. Bots will be assigned to clicking cubes by standard
group selection order (reverse join order), but assignment is done via
two passes. The first pass will look to select five ranged DPS bots that
are _not_ Warlocks. This is because Warlocks may still be needed to keep
Abyssals banished/feared and because Warlocks of all three specs put out
by far the most damage of all ranged DPS at level 70 in pre-raid/T4
gear. If there are not five non-Warlock ranged DPS bots available, then
the logic goes to the second pass, which can pick any bot that is not a
Tank.
Cube clicking works on a timer:
1. 48 seconds after Magtheridon breaks free, assigned cube clickers move
near their cubes (but a few yards outside of interact distance). During
this time, they should move around still to avoid Debris (by maintaining
distance from the triggering NPC) and Conflagration (by maintaining
distance from the triggering gameobject). Blast Nova is on a 54.35s to
55.4s timer, and I found 48s to always be ample time to get to the
cubes, but YMMV so this is a good thing to test. Going to a cube too
early not only takes away DPS but also risks more hazards appearing
on/around the cube that will then cause problems when the cube needs to
be clicked.
2. Blast Nova is a 2s cast, followed by a 10s channel (if not
interrupted by the cubes). As soon as the cast begins, bots will move
into interaction range and click the cube. Well, there is a randomized
delay between 200ms (about the fastest possible human reaction time to
visual stimuli) and 1500ms. It didn’t happen to me in a few runs, but it
may be possible that the delay causes the raid to eat one tick of Blast
Nova (I’m not sure if the first blast comes as soon as the channel
starts). Again, another good thing to test, but also one tick is not
going to kill anybody, and it’s arguably good to introduce some degree
of imperfection.
3. Once Blast Nova stops channeling (i.e., all five cubes have been
clicked and channeled simultaneously), bots will interrupt their cube
clicking and go back to regularly scheduled activities. Again, I’ve
introduced a randomized delay, this time between 200ms and 3000ms. Note
that bots can easily be perfect at this—if I don’t do the randomized
delay, they click and let go so fast that you can barely even see the
beams appear. It’s so atrocious for immersion that I consider the lack
of any randomization to be totally unacceptable for this strategy.
4. 48s after Blast Nova, bots will go back to their near-cube positions,
rinse and repeat.
If an assigned cube clicker dies, another bot should be immediately
assigned. All bots in the raid track the same timer so the new bot
should step into the prior bot’s shoes. Of course, if Blast Nova is
about to go off and a clicker dies next to a cube, you’re probably
wiping because I didn’t assign backups to stand in place. That’s too
much of a dad guild-level strategy even for me.
And that’s about it. Figuring out the cubes was a tremendous pain in the
ass, but I’ve really enjoyed the learning process.
---------
Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
* Check item score of rings/trinkets to determine the correct slot to equip
* Early return, removed unecessary if statements, single line statements
Simplify logic for equipping items by reducing nested conditions.
* Rewrite RandomPlayerbotFactory - rewrite constructor and utility methods, simplify checks and logic
* Update the comment to clarify the original logic for race selection
* Remove magic numbers from CombineRaceAndGender method (gender)
* Add checks for races and classes disabled during random bot creation
* Implement Gruul's Lair strategy
* minor non-gameplay tweaks to code
* Use multiplier for tank assist
* HKM warlock & Gruul tank tweaks
* Fixed declarations
* rewrote HKM + minor Gruul tweaks
* Update PlayerbotAI.cpp
* modernize code and address comments
* clean ups to tank logic
* Oops.
* Remove post-move delay
For actions like positioning bosses, the standard post-movement delay should be overridden IMO since a player would be sequencing their actions in this type of situation
* Update RaidGruulsLairActions.cpp
* Replace break statements with return true
* enum class to enum
* moved all isuseful checks to triggers
* Split multipliers and improved banish logic
* Update for comments
* changes to int
* use helpers for marking icons
* address compile errors
* correct MoveTo and use RTI helper
* address comments and rename actions/triggers
* adjust alignment of location constants
* fix some crappy returns
* allow return true when changing targets
* change indents and move enums inside namespace
* style changes, trim trailing whitespaces, address comments
Fixes a thread safety issue where multiple bots dying in battlegrounds
simultaneously would corrupt the shared static unordered_map, causing
segmentation faults.
Changes:
- Remove: static m_botReleaseTimes map from AutoReleaseSpiritAction
- Add: bgReleaseAttemptTime member to PlayerbotAI (per-bot storage)
- Update: All references to use per-bot storage instead of static map
Why this fixes the crash:
- Each PlayerbotAI instance is accessed by only one map update thread
- No cross-thread access to shared data structures
- No mutex/locking required - thread-safe by design
- Automatic cleanup when bot is destroyed
Thread-safe solution: Per-bot state eliminates race conditions without
performance overhead.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add PLAYERHOOK_ON_BEFORE_TELEPORT to proactively clean visibility
references when a bot teleports between maps. This prevents a race
condition where:
1. Bot A teleports and its visible objects start getting cleaned up
2. Bot B is simultaneously updating visibility and tries to access
objects in Bot A's old visibility map
3. Those objects may already be freed, causing a segmentation fault
at GridNotifiers.cpp:65 in IsWorldObjectOutOfSightRange()
The fix only affects bots to avoid changing behavior for real players.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Neatened some things up, removed obsolete code, added a break out of the loop if an empty guild name (none available) is returned from the playerbots_guild_names table.
Added a query to count the number of guilds straight from the DB, then filter out player guilds. (instead of relying on accessing guilds from a list of random bots and adding them up)
This needs some formatting / tidying once I make sure we are counting guilds properly.
* Maintenance config controls
bools in config
* Update TrainerAction.cpp
removed some note-to-selfs (personal config preferences)
* Set default to true
Also tidied up some comments
* Update playerbots.conf.dist
* Reorganised
Changed the description in conf to be less conversational.
Rearranged the order that options are arranged, grouping by what made sense to me (the type of gameplay made easier/skipped by the option being enabled).
Rearranged the order the variables and method calls are listed in the code to match the order they are presented in the conf to make future maintenance of maintenance (:P) more intuitive.
* Update playerbots.conf.dist
Revert previous commit (change to call order in MaintenanceAction::Execute)
conf settings grouped
Add RemoveAurasWithInterruptFlags call before all TeleportTo operations
to prevent race condition crash in battlegrounds.
The crash occurs when area auras (like "Entering Battleground") are
queued for removal in Aura::UpdateTargetMap's targetsToRemove list,
but the unit is deleted before the 500ms update cycle completes,
causing SIGSEGV when accessing the dangling pointer.
This fix removes auras with AURA_INTERRUPT_FLAG_TELEPORTED and
AURA_INTERRUPT_FLAG_CHANGE_MAP before teleporting, matching the
behavior in Player::TeleportTo for real players.
Affected locations:
- BattleGround join/teleport
- Spirit healer/graveyard teleport
- Corpse resurrection teleport
- Meeting stone teleport
- Master follow teleport
- RPG unstuck teleport
- Random bot teleport
- Chat command teleport
Raid-specific teleports excluded as they require separate testing.
* Fix Issue #1648
Fix low level randombot shamans (~34) don't heal in dungeongroups, seems new "resto" strategy is broken #1648
* Final working fix, tested with all 3 shaman class specs.
* Update asked by review
* requested review changes
* Minor corrections of the cpp file
* boyscouting
Lets try and leave the code cleaner behind as we find it when we can.
* Oupsie fix ;)
---------
Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
* fix: Optimize DrinkAction to check mana in isUseful instead of Execute
- Move HasManaValue check from Execute to isUseful for better performance
- Prevents non-mana classes from executing drink actions unnecessarily
- Improves AI efficiency by early filtering in isUseful method
Addresses reviewer feedback about HasManaValue usage optimization
* Update NonCombatActions.cpp
---------
Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
This change modifies the `HasManaValue::Calculate()` function in `src/strategy/values/StatsValues.cpp`.
Previously, priests in Spirit of Redemption form (angel form when dead) could still attempt to use mana-restoring actions like drinking water, which is illogical since they cannot use mana in that form.
This fix adds a check for the Spirit of Redemption aura (spell ID 20711) to prevent mana usage:
- If the target has the Spirit of Redemption aura, the function returns false
- This prevents priests in angel form from attempting to drink water or use other mana-restoring actions
- Improves bot behavior realism by respecting the limitations of the Spirit of Redemption form
This change works in conjunction with the previous fix that prevents non-mana-using classes from attempting to restore mana, creating a more comprehensive solution for mana management.
This change modifies the `DrinkAction::Execute()` and `EatAction::Execute()` functions in `src/strategy/actions/NonCombatActions.cpp`.
Previously, playerbots could attempt to eat food or drink water while mounted, which is not possible in the game and creates unrealistic behavior.
This fix adds mount state checks to both actions:
1. `DrinkAction::Execute()` now checks `bot->IsMounted()` and returns false if mounted
2. `EatAction::Execute()` now checks `bot->IsMounted()` and returns false if mounted
This prevents bots from attempting to consume food or drinks while mounted, improving bot behavior realism and preventing unnecessary action attempts that would fail anyway.
* FIX Random Bot Guilds not initialising random emblem, colors, etc #1636
FIX Random Bot Guilds not initialising random emblem, colors, etc #1636
* Update RandomPlayerbotFactory.cpp
* Add sql patch an remove FixEmptyGuildEmblems() function
* Paladin buff logic: Sanctuary+Kings synergy, role-aware targeting, safer Greater buffs
* Update PaladinActions.cpp
* Update PaladinActions.cpp
* All configs should be implement into PlayerbotAIConfig and sPlayerbotAIConfig used in code
* added: prayer of fortitude
* Magic number removed
* Update PaladinActions.cpp
* Update PaladinActions.cpp
* Update PaladinActions.cpp
* Update PaladinActions.cpp
* Update PaladinActions.cpp
* Add patch for solo paladin in group
* Correction review
* Update PaladinActions.cpp
* Add harcoded text to DB
* Shaman Overhaul
Hello everyone,
I bring to you the Shaman Overhaul. This was the most fun project I've had so far.
Here is a simplified list of the changes this brings:
1. Added Call of the Elements - making the shaman able to set 4 totems down simultaneously! This saves them multiple global cooldowns in combat.
2. Totems are now selected based on their combat strategies. These strategies set totems on the Call of the Elements bar, as well as change what totem is summoned if a single totem is missing. NOTE: Only one strategy of each elemental type (earth, fire, water, air) can be active at a time.
Earth - strength of earth, stoneskin, tremor, earthbind
Fire - searing, magma, flametongue, wrath, frost resistance
Water - healing stream, mana spring, cleansing, fire resistance
Air - wrath of air, windfury, nature resistance, grounding
There are a few exceptions to totems without strategies: Stoneclaw Totem, Fire Elemental Totem, and Mana Tide Totem. These each have triggers that fire under certain conditions:
Stoneclaw Totem: Resto/Ele shaman has low health and isn't in a group
Fire Elemental Totem: Boost trigger for Ele/Enhance
Mana Tide Totem: Resto Shaman medium mana
3. Added Totemic Recall - a spell that picks up the totems outside of combat to regain 25% of the mana spent. Useful to avoid patrols.
4. Changed the config slightly - Enhance uses Fire Nova Glyph for crazy AoE damage, and enhance pve spec uses both clearcasting and improved shock talent now.
5. Enhancement Shamans will use their Spirit Wolves' Spirit Walk ability - this helps them close the gap and improves their DPS on fights that require movement.
6. Boost Strategy - Moved Bloodlust/Heroism/Fire Elemental Totem from the generic strategy triggers to a new Boost strategy. Now you can control their uses with Boost! (co +boost or co -boost. Enabled by default.)
7. AoE Strategy - Unified both of the AoE strategies for Ele/Enhance to "aoe", rather than "caster aoe" and "melee aoe". NOTE: Healers will still aoe under "healer dps". (co +aoe or co -aoe. Enabled by default.)
8. Moved the weapon imbue strategies from combat to non-combat. I noticed that they were only casting their weapon imbues during combat - this fixes that.
9. Added logic for only using Lava Burst on targets with Flame Shock active, ensuring that it's as close to 100% crit chance as possible. I did notice on a sample size of 112 lava bursts in testing that it still fails to crit around 3 percent of the time - that is because the lava burst starts to cast while flame shock is on the target, but by the time the projectile lands, flame shock has worn off.
10. Added Earth Shock as an execute ability for elemental shamans only. This helps their DPS tremendously at low levels, as well as in PVP. There is logic in place to prevent the use of Earth Shock as elemental entirely on bosses (it's garbage on bosses), as it will only be used as an execute if the target has less than 1500 hp and it's at 25% hp or less.
10. Added chain lightning as an AoE option for enhancement shamans while maelstrom weapon is at 4 or 5 stacks. This continues to push the AoE dps on enhance higher!
Here is a file-by-file list of the changes:
conf\playerbots.conf.dist - Enhancement shamans use Fire Nova Glyph as early as level 15, they also use the clearcasting talent in elemental and improved shocks in enhance. It really helps their mana usage. Also swapped the position of two glyphs in resto.
src\AiFactory.cpp - Set the default spec that new altbot shamans start as to Elemental. Put Arcane, Fire, and Frost comments on the mage specs. Set the strategies of the shaman specs to "ele, resto, and enh", as well as added the default totem strategies for each spec. Also added in the aoe strategy. Removed bmana/bdps, as those were set for lightning/mana sheld - those have been moved to both the non-combat strategy, as well as to each spec combat strategy. Enhancement will use Lightning Shield, and Elemental and Resto will use Water Shield both in and out of combat.
src\strategy\shaman\CasterShamanStrategy.cpp/CasterShamanStrategy.h - Renamed to Elemental.
src\strategy\shaman\ElementalShamanStrategy.cpp/ElementalShamanStrategy.h - Renamed from CasterShamanStrategy, most logic is the same. Moved the totem of wrath passthrough to the GenericShamanStrategy. Moved the Weapon Imbue to the NonCombatShamanStrategy. Moved the AoE spells to GenericShamanStrategy, under the AoE strategy there. Added the use of Stoneclaw totem, as well as Earth Shock Execute. Changed the use of Thunderstorm from medium mana to high mana, so it can be used more often in longer fights. Moved the individual casting of totems to the totem strategies. Added the use of Call of the Elements.
src\strategy\shaman\EnhancementShamanStrategy.cpp/EnhancementShamanStrategy.h - Renamed from MeleeShamanStrategy. Moved the totem passthroughs to GenericShamanStrategy. Refined the priorities in the default actions and triggers to closer match guides online. Moved the weapon imbues to the non-combat strategy. Moved the individual casting of totems to the totem strategies. Moved the AoE spells to the AoE strategy in GenericShamanStrategy. Added the use of Call of the Elements (while in melee range) and Spirit Walk.
src\strategy\shaman\GenericShamanStrategy.cpp/GenericShamanStrategy.h - Moved weapon imbue passthroughs to non-combat. Set up all totem passthroughs here so lower level shamans could function well. Set up a boost strategy for heroism/bloodlust/fire elemental totem. Set up an AoE strategy for Elemental/Enhancement. Cleaned up tablature of the code. Moved the Healer DPS strategy to the RestoShamanStrategy. Added a medium mana trigger so they can use more mana potions in longer fights.
src\strategy\shaman\HealShamanStrategy.cpp/HealShamanStrategy.h - Renamed to RestoShamanStrategy.
src\strategy\shaman\MeleeShamanStrategy.cpp/MeleeShamanStrategy.h - Renamed to EnhancementShamanStrategy.
src\strategy\shaman\RestoShamanStrategy.cpp/RestoShamanStrategy.h - Renamed from HealShamanStrategy. Moved weapon imbue to non-combat strategy. Moved the individual casting of totems to the totem strategies (except mana tide totem). Added in Healer DPS from genericshamanstrategy. Added in use of Stoneclaw totem and Call of the Elements.
src\strategy\shaman\ShamanActions.cpp/ShamanActions.h - Organized the actions by type. Removed the TTL check in the totem action and Flame Shock. Added logic in the Stoneclaw totem to only be used when not in a group. Added logic on LavaBurst Action to only be used when the target has flame shock debuff from the caster. Added custom logic for casting Spirit Walk (no code exists in AC/Playerbots to make a guardian cast a spell). Added in the "SetXTotemAction"s, which set a totem to the highest rank of the spell in the totem bar.
src\strategy\shaman\ShamanAiObjectContext.cpp/ShamanAiObjectContext.h - Cleaned up strategies, triggers, and actions as a whole. Renamed melee, heal, and caster to ele, enh, and resto. Changed the "totems" strategy to individualized elemental totem strategies.
src\strategy\shaman\ShamanNonCombatStrategy.cpp/ShamanNonCombatStrategy.cpp - Moved weapon imbues here. Cleaned up tablature. Added the Totemic Recall spell.
src\strategy\shaman\ShamanTriggers.cpp/ShamanTriggers.h - Removed the commented out section. Added triggers + logic for:
EarthShockExecute
Call of the Elements
Totemic Recall
"SetXTotemTrigger"
Spirit Walk
Elemental Mastery
No Earth/Fire/Water/Air Totem
src\strategy\shaman\TotemsShamanStrategy.h - Master hub for all defined constants and arrays used in other files, as well as names all of the totem strategy types.
src\strategy\shaman\TotemsShamanStrategy.cpp - Each strategy has a "set x totem" to change the bar totem, as well as a "no x totem" trigger with a corresponding "cast x totem". NOTE: some totems aren't learned by level 30 when a shaman learns call of the elements, so I had to set an alternative for those (Totem of Wrath, Wrath of Air, Cleansing Totem, and Windfury). Testing showed me that this is necessary - without this, the trigger would just fire over and over, and the shaman would recast the same totem over and over.
Scope of Testing:
8/5/25 (2 hours): Began work on the Shaman class. Cleaned up actions and triggers.
8/6/25 (3.5 hours): Tried what felt like everything to get the totem bar changed. Seems impossible to change a client-side thing with cpp.
8/9/25(3 hours): Initial totem strategies created. Through the help of Revision, I was able make a functioning action that would change the totem bar's spell. The spells are stored in the database! I was able to get a strategy of each type working, and Call of the Elements was casting the correct totems.
8/10/25 (3.5 hours): Testing on Noth the Plaguebringer. The elemental shaman's dps was low - I noticed that the shaman was casting lava burst regardless of if the target had flame shock. I fixed this. I also noticed that the enhancement shaman was casting call of the elements at max range, resulting in the magma totem never doing damage. Changed so enhance would only cast Call of the Elements in melee range. Also, had to add "cast x totem" spells to each strategy, so magma totem would recast once expired (as well as other totems).
8/11/25 - (2.5 hours)Did a full run of Naxxramas. Enhancement did crazy dps for the gear it had. Elemental was consistently placing between 14-18th place of 18 dps. I noticed that totemic recall was messing up with the KT encounter, and had to look in the AC repo for logic to check if a boss encounter is active. Fixed it, and shamans weren't spamming totemic recall between packs. I wonder what I can do to fix elemental?
8/12/25 (1.5 hours) - Added a check in lava burst's isuseful to ensure flame shock was on the target. DPS went up a little bit. Also, made chain lightning the highest spell priority - DPS went up quite a bit after that. It is quite costly, but it is worth it - even on one target, but especially 3. Added spirit walk for enhancement.
8/13/25 - (5 hours) Tested on level 1-10 level, 15, 25, 35, 45, and 55 instances: I had a ton of bugs at level 35. Essentially, the shaman was standing there casting the totems it didn't know (wrath, cleansing, wrath of air). I had to add some checks and passthroughs for it to run smoothly again. Elemental was still doing just okay dps at lower levels, while enhancement was CRUSHING it. The fact that enhancement has the fire glyph from 15 on now is crazy.
8/14/2025 (2 hours) - Tested in 65/75 instances, as well as little bit of ulduar. I am pretty happy with the state of shamans now, they are consistently performing highly (enhance top 5, elemental top 8 in ulduar). Tweaked elemental mastery to cause lava burst to be instant cast, not chain lightning. This improved the DPS of elemental shamans right out of the gate.
Total testing - 23 hours
If y'all have any questions or comments, please let me know either here or on discord!
* Fixed the Bracket so the code will compile
Fixed the Bracket so the code will compile
* - Code refactoring
* - Non windows compilation error fixes
---------
Co-authored-by: kadeshar <kadeshar@gmail.com>
* Update playerbots.conf.dist
Added Half-Burried Bottle to the list of dissallowed GO's
* Update PlayerbotAIConfig.cpp
Added Half-Burried Bottle to the list of disallowed GO's in the standard values of the source to complete this PR
Fix error with isUseful check that caused bots not to run away from Shadow Nova when no Infernals were spawned + some tightening of code to avoid Shadow Nova
simplified code
fixed bug where neutral creatures were not captured by the aggroby filter
trim white spaces so space between filter and message is permitted but not required
* Add SMV area IDs to PvP Prohibited Areas
Sanctum of the Stars and the Altar of Sha’tar
* Update source default pvpProhibitedAreaIDs
* Update source default pvpProhibitedAreaIDs
Now with Sanctum of the Stars & Altar of Sha'tar as well
* Revert "Correct side effects of merge f5ef5bd1c2 (#1512)"
This reverts commit 966bf1d6af.
* Revert "Fix ACCESS_VIOLATION in mod-playerbots: purge stale AIs, add thread-safety, and harden HasRealPlayerMaster (#1507)"
This reverts commit f5ef5bd1c2.
* Revert "[Large server fix] #1537 Serialize playerBots/botLoading with a mutex and use snapshot-based loops to fix concurrency crashes (#1540)"
This reverts commit 3fff58df1a.
* Revert "[Fix] teleport to invalid map or invalid coordinates (x , y , z 200000, o ) given when teleporting player (g UI d full type player low , name , map , x , y , z , o ) (#1538)"
This reverts commit ca2e2ef0db.
* Revert "Fix: prevent MoveSplineInitArgs::Validate velocity asserts (velocity > 0.01f) for bots, pets, and charmed units (#1534)"
This reverts commit 4e3ac609bd.
* Revert "[Fix issue #1527] : startup crash in tank target selection — add TOCTOU & null-safety guards (#1532)"
This reverts commit c6b0424c29.
* Revert "[Fix issue #1528] Close small window where the “in a BG/arena” state can change between the check (InBattleground() / InArena()) and grabbing the pointer (GetBattleground()), which leads to a null dereference. (#1530)"
This reverts commit 2e0a161623.
* Revert "Harden playerbot logout & packet dispatch; add null-safety in chat hooks and RPG checks (#1529)"
This reverts commit e4ea8e2694.
* Revert "Dont wait to travel when in combat. (#1524)"
This reverts commit ddfa919154.
* Revert "nullptr fix (#1523)"
This reverts commit 380312ffd2.
* Revert "Playerbots/LFG: fix false not eligible & dungeon 0/type 0, add clear diagnostics (#1521)"
This reverts commit 872e417613.
* Revert "nullptr exception (#1520)"
This reverts commit 3d28a81508.
* Revert "Removed bot freezing at startup and system message, not relevant anymore (#1519)"
This reverts commit bcd6f5bc06.
* dont apply XPRate if bot is in group with real player
https://github.com/liyunfan1223/mod-playerbots/issues/1490
* Optimize code
* Oops minor correction
* Defense check on the player itself
* Safer way to check the leader is real player.
* Added abit more defense programming, should be needed still ..why not
Hello everyone,
This is a small change to warlocks that accomplishes 2 things:
1. Changes the firestone and spellstone weapon enchants so only one of them can be active - players reported to me that both strategies could be present before, resulting in a bug where the bot repeatedly applied the enchant.
2. Changes the soul shard deletion cap from 6 or more to 26 or more - players will now be able to stockpile soul shards up to 25 in a bot's inventory before the bot starts deleting them one at a time back down 25. I chose 25 because if it was higher, drain soul would get multiple shards above the 32 unique cap, and spam the player "I can't carry any more of those". It was super annoying, and with testing, I have not seen this error at 25. This aims to address issue #1502 .
Hello everyone,
This PR is to address #1489, where the warlock summons a pet when they dismount.
A tester found that the cause was the "wrong pet" triggering "summon (pet)". I looked into the "wrong pet" trigger, and noticed that there was not a clause if there was no active pet. It was inadvertently casting "summon (pet)" because for a brief second after dismounting, the warlock didn't technically have a pet.
I was able to recreate the issue based on tester feedback (dismounting with a warlock bot that has a pet). I tested this fix locally - it seems to work as intended. The warlock no longer attempts to summon a pet when dismounting. I tested it with nc +debug, and noticed that the "wrong pet" trigger was no longer firing. I also checked the logs - nothing.
Thank y'all for the testing and feedback!
* New roll for item action
* Add general roll command as well.
* Update ChatCommandHandlerStrategy.cpp
Add accidental removal of glyph equip
---------
Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
Bots will now add level- and spec-appropriate oils and stones when maintaining and, with respect to randombots, leveling. All bots (other than those with class-specific temporary weapon enchants) will apply oils and stones to their weapons. General clean-ups to associated code were made.
Hello everyone,
I am on a quest to make bot's pets completely functional, focuses on solving issues #1351 , #1230 , and #1137 . This PR achieves the following:
1. Changes the current "pet" chat command to "tame", which is more intuitive that only hunters can use it. The modes are "tame name (name)", "tame id (id)", "tame family (family)", "tame rename (new name)", and "tame abandon". Tame abandon is new - it simply abandons the current pet. Also, now, if you type in "tame family" by itself, it will list the available families. See pictures below for examples.
2. Added new "pet" chat command, with the following modes: "pet passive", "pet aggressive", "pet defensive", "pet stance" (shows current pet stance), "pet attack", "pet follow", and "pet stay". Previously, the pet's stance was not changeable, and there were some less than desired effects from summonable pets - see the issues above.
3. New config option: AiPlayerbot.DefaultPetStance, which changes the stance that all bot's pets are summoned as. This makes sure when feral spirits or treants are summoned by shamans and druids, they are immediately set to this configured stance. Set as 1 as default, which is defensive. (0 = Passive, 1 = Defensive, 2 = Aggressive)
4. New config option: AiPlayerbot.PetChatCommandDebug, which enables debug messages for the "pet" chat command. By default it is set to 0, which is disabled, but if you would like to see when pet's stances are changed, or when you tell the pet to attack/follow/stay, and when pet spells are auto-toggled, this is an option. I made this for myself mainly to test the command - if anyone notices any wierd pet behavior, this will be an option to help them report it as well.
5. Modified FollowActions to not constantly execute the petfollow action, overriding any stay or attack commands issued.
6. Modified GenericActions to have TogglePetSpellAutoCastAction optionally log when spells are toggled based on AiPlayerbot.PetChatCommandDebug.
7. Modified PetAttackAction to not attack if the pet is set to passive, and not override the pet's stance to passive every time it was executed.
8. Modified CombatStrategy.cpp to not constantly issue the petattack command, respecting the "pet stay" and "pet follow" commands. Pets will still automatically attack the enemy if set to aggressive or defensive.
9. Warlocks, Priests, Hunters, Shamans, Mages, Druids, and DKs (all classes that have summons): Added a "new pet" trigger that executes the "set pet stance" action. The "new pet" trigger happens only once, upon summoning a pet. It sets the pet's stance from AiPlayerbot.DefaultPetStance's value.
This update enhances bot behavior by adding a check for both line of sight (LoS) and significant vertical height differences between the bot and its target. If the bot cannot see its target or if the height difference exceeds 5.0f, it calculates a valid path and moves closer to regain visibility and combat effectiveness. This resolves cases where bots would previously stand still when enemies jumped from elevated terrain or were behind obstacles.
Hello everyone,
I liked the channel cancel I did on mage recently, where they cancel blizzard if there is only 1 enemy left. I decided to do the same for the following classes:
Druid: Hurricane
Hunter: Volley
Priest: Mind Sear
Warlock: Rain of Fire
I moved the "ChannelCancel" action to it's own file, so other classes could benefit from it. I removed it from the mageactions.
This update enhances bot behavior in arena scenarios by addressing the issue where bots remain idle if their target moves behind line-of-sight (LoS obstacles). The bot now attempts to reposition near the target to regain LoS instead of standing still, preventing situations where enemies can recover without pressure.
Could someone test it?
Hello everyone,
This is a fix for issue #1233
I have added a clause in the CanCastSpell check that checks if the bot is in flight form/swift flight form & not in combat. It will no longer attempt to shift into a caster form and repetitively try and heal/buff party members while flying. Tested on my PC with the changes and druid now successfully flies as fast as the player with no stopping.
This was causing the issue:
static ActionNode* thorns([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("thorns",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ nullptr,
/*C*/ nullptr);
}
static ActionNode* thorns_on_party([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("thorns on party",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ nullptr,
/*C*/ nullptr);
}
static ActionNode* mark_of_the_wild([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("mark of the wild",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ nullptr,
/*C*/ nullptr);
}
static ActionNode* mark_of_the_wild_on_party([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("mark of the wild on party",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ nullptr,
/*C*/ nullptr);
}
static ActionNode* regrowth_on_party([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("regrowth on party",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ NULL,
/*C*/ NULL);
}
static ActionNode* rejuvenation_on_party([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("rejuvenation on party",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ NULL,
/*C*/ NULL);
}
static ActionNode* remove_curse_on_party([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("remove curse on party",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ NULL,
/*C*/ NULL);
}
static ActionNode* abolish_poison_on_party([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("abolish poison on party",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ NULL,
/*C*/ NULL);
}
static ActionNode* revive([[maybe_unused]] PlayerbotAI* botAI)
{
return new ActionNode("revive",
/*P*/ NextAction::array(0, new NextAction("caster form"), nullptr),
/*A*/ NULL,
/*C*/ NULL);
}
The *P* stands for prior, aka before this action is taken, do this other action "caster form". This is the Caster Form action:
class CastCasterFormAction : public CastBuffSpellAction
{
public:
CastCasterFormAction(PlayerbotAI* botAI) : CastBuffSpellAction(botAI, "caster form") {}
bool isUseful() override;
bool isPossible() override { return true; }
bool Execute(Event event) override;
};
And this:
bool CastCasterFormAction::isUseful()
{
return botAI->HasAnyAuraOf(GetTarget(), "dire bear form", "bear form", "cat form", "travel form", "aquatic form",
"flight form", "swift flight form", "moonkin form", nullptr) &&
AI_VALUE2(uint8, "mana", "self target") > sPlayerbotAIConfig->mediumHealth;
}
bool CastCasterFormAction::Execute(Event event)
{
botAI->RemoveShapeshift();
return true;
}
So basically, the druid was triggering to heal/buff the party, and before it could do that, it had to switch into "caster form" which executed RemoveShapeshift(). After it did that, mounting back up into flight form/swift flight form had the highest priority, so it would loop the triggers/actions.
This commit focuses on the changes requested - Migrate important cooldowns over to BoostStrategy.
Just tested it, and it is working fine - The player has more control over when they can boost. Also, added Mirror Image to the Boost Strategy, after other cooldowns are used - this way the mirror images get the buffs.
Hello everyone,
Back again with another class overhaul. Here is a list of what changes have been made:
1. Consolidated the AoE strategies into "aoe". For light aoe (2+ enemies) the mage will use Cone of Cold (frost)/Arcane Explosion (Arcane)/Multi-Dot with Living Bomb (Fire/Frostfire). For medium aoe (3+ enemies) they will use Flamestrike -> Blizzard. Also, the mage will automatically cancel channeling their blizzard if there is less than 2 enemies around. This is huge, since the mage would often stand there and finish their entire channel during a boss fight after the adds died.
2. Organized actions, triggers, and the aiobjectcontext
3. Enabled Deep Freeze to be casted on bosses regardless of their immune status. Big benefit for frost dps on boss fights.
4. Slight tweaks in the conf so Arcane gets Arcane Barrage and Frostfire gets 2/2 Firestarter
5. Streamlined Arcane DPS to use Missile Barrage proc when at 4 stacks of Arcane Blast
5. Streamlined Fire/Frostfire DPS to keep Improved Scorch active (5% spell crit) unless there is a debuff of equal type
6. Added "firestarter" strategy, that utilizes the Fire talent Firestarter better. The mage will multi-dot Living Bomb while running towards melee, and cast Dragon's Breath -> instant cast Flamestrike -> Blast Wave -> instant cast Flamestrike -> Blizzard for bonkers damage. Disabled by default - not everyone wants their mages running into melee. Enable by typing "co +firestarter" on fire and frostfire mages.
7. Streamlined Frost DPS by finally adding support for Cold Snap for mages. It will proc when both Icy Veins and Deep Freeze are on cooldown. There is an exception to this - if the mage is level 30-59, it will not check for Deep Freeze - only Icy Veins.
8. Added Conjure Mana Gem support in the generic non-combat strategy and Use Mana Gem support in the generic combat strategy. This might be the biggest benefit of the overhaul - the gem has a 90 second cooldown, not shared with mana potions. It really prevents the mage from gassing out in longer fights. And the mana gem has 3 charges!
9. Added Mana Shield ability, which triggers on low health.
10. Changed Mirror Image from a boost ability to an anti-threat tool. Not many people know this, but it's best use in PvE is it's anti-threat modifier: "Mod Total Threat - Temporary Value: -90000000". It also doesn't do good damage, and is essentially used best as a pre-pull spell. But until the mages know how to react to a pull-timer, it's going to be used to reduce threat.
Let me know what y'all think!
Hello everyone,
This PR addresses issue #1464 - Now, when you change a strategy, the new pet will be summoned accordingly - as long as the warlock knows the pet. I tested this myself with level 80 warlocks, then moved to lower level warlocks. It was nice to see that when my affliction warlock went from level 29 to 30, it automatically summoned the felhunter (while having the succubus out prior).
List of changes per file:
src\AiFactory.cpp: Set default level 1 spec to demonology for altbots - it was affliction prior. This will allow them to use Curse of agony, corruption, and immolate between levels 1-10.
src\strategy\warlock\GenericWarlockNonCombatStrategy.cpp: Added the "wrong pet" trigger to each of the 5 pet strategies, coupled with the appropriate summon action.
src\strategy\warlock\WarlockAiObjectContext.cpp: Registered the "wrong pet" trigger and moved the unstable affliction static trigger all to 1 line, cleaning it up a bit.
src\strategy\warlock\WarlockTriggers.cpp: Added the logic for the wrong pet trigger here. I tried to leave detailed comments as much as possible explaining it's thought process.
src\strategy\warlock\WarlockTriggers.h: Added the WrongPetTrigger.
Hello everyone,
I'm still working on fixing issue #1439 , and I have a theory - it could be because the clients that are having the issue are not english, and the code currently checks for strings "soul shard" and "soulstone". This PR converts the check over to the item IDs, so it should work regardless of what client is being used. I tested it myself with the english client and there is functionally no difference than before - but I hope it solves the issue #1439 for the non-english clients and community.
Hello everybody,
This PR is to address issues #1439 and #1451.
I added a 1 second cooldown to the createsoulshard action, as the warlock wouldn't ever use more than 1 soul shard per second.
I also added a cooldown check to the soulstone trigger, so it doesn't simply try to use the ss healer, ss self, ss tank, or ss master if the soulstone is present in the inventory. I checked the logs, and was able to recreate the issue of #1451 - the bot was shifting targets over and over again, and that was because previously the trigger was just checking to see if a soulstone was present at all. Now it won't fire if it's on cooldown.
Hello everyone,
I was working with hunter bots and I feel like I didn't have enough control over their pets. So I started working on a chat command for the hunter pets, and it's been a blast. Below is a description of what the commands do:
pet name <name>
Summons a tameable pet by its creature name (case-insensitive).
The bot checks if the pet is exotic and requires the Beast Mastery talent if so.
If successful, the bot announces the pet's new name and creature ID.
If not found or not tameable, an error message is given.
pet id <id>
Summons a tameable pet by its database creature ID.
The same exotic pet checks apply.
Success is announced with the pet's name and ID.
Errors are given for invalid IDs or untameable pets.
pet family <family>
Randomly selects and summons a tameable pet from the specified family (e.g., "cat", "wolf").
Only families with tameable pets are considered.
Exotic pet checks and talent requirements apply.
Success is announced with the pet's name and ID.
Errors are given if no suitable pet is found.
pet rename <new name>
Renames the hunter's current summoned pet to a new name.
The name must be 1-12 alphabetic characters (A-Z, a-z) and is automatically formatted (first letter capitalized, rest lowercased).
Forbidden or reserved names are disallowed.
After renaming, the bot sets the new name, saves the pet, and updates the client.
The bot dismisses and attempts to recall the pet using "Call Pet" (if the hunter knows it) to update the UI.
If the new name isn't visible immediately, the bot instructs the player to dismiss and recall the pet manually.
Confirmation and guidance messages are provided.
Additional Details:
All commands display errors if requirements are not met (wrong name/id/family, forbidden name, lack of Beast Mastery, or hunter below level 10).
After changing or summoning a pet (except renaming), the bot initializes the pet and its talents, then announces the result.
TLDR:
pet name <name> Summon a tameable pet by name
pet id <id> Summon a tameable pet by database creature ID
pet family <family> Randomly summon a tameable pet of the given family
pet rename <new name> Rename the current pet and refresh its name in the client UI
Description of files changed:
src\strategy\actions\ChatActionContext.h: Added the "pet" action for the whisper command.
src\strategy\actions\PetAction.cpp: New chat actions for all things related to hunter pets.
src\strategy\actions\PetAction.h: New header for the PetAction.cpp.
src\strategy\generic\ChatCommandHandlerStrategy.cpp: Linked the trigger and action in the chatcommandhandlerstrategy, for the bot to take action when whispered "pet" (trigger).
src\strategy\triggers\ChatTriggerContext.h: Added the "pet" trigger.
Hello everyone,
This PR is to address an issue that was posted recently - a player has shown that soul shards are being created in excess, spamming the player's chat log. I am adding an isuseful() check to the createsoulshard action, so it will never be executed if they have more than 5 soul shards.
Also, out of an abundance of caution, I am lowering the cap for CastDrainSoulAction::isUseful() to 20 from 32. That way, if for some reason the warlock has 20+ shards, it won't attempt to collect any more / use drain soul.
Hello everyone,
This fixes these two classes so they respond to the command "co -aoe" and "co +aoe". This also fixes the survival hunter so that trap weave is not a default strategy - they will not walk into melee anymore.
Hello everyone,
This PR addresses two errors that players have been getting with the new warlock changes:
Firestone - Fel Firestone, which is rank 6 of create firestone, learned at level 74, is creating an error in the worldserver that is quite annoying. That is because the database has an incorrect enchant effect of a chance on hit for that rank. This PR changes the CreateFirestoneAction to skip that spell rank entirely, thus never having that error. Note: You might need to wait a little while after the new change for the errors to go away - that is because there still be pre-existing fel firestones on the warlocks, as well as enchanted on their weapons. Once those disappear, the error will not be there anymore.
Excess soul shards - There is an error that currently exists where if a Warlock uses Drain Soul while they have 32 soul shards, it will spam in the chat log "I can't carry anymore of those". This PR will automatically delete soul shards if they have 6 or more. This PR also will reduce the number of soul shards the warlock receives from maintenance to 5. I figured 5 is a good maximum so their inventory doesn't get clogged with 32 shards. Between "DestroySoulShard" and "CreateSoulShard" actions, they will always have between 1-5 soul shards.
Hello everybody,
I saw that the hunter class had one strategy for all 3 specs, and decided to create specialized strategies for each one. Here is a list of the changes:
conf\playerbots.conf.dist: Redid the talent trees and glyphs slightly, for more consistent dps
src\AiFactory.cpp: Changed the default strategies assigned for each spec.
src\strategy\hunter\BeastMasteryHunterStrategy.cpp and src\strategy\hunter\BeastMasteryHunterStrategy.h: Strategy for BM hunters. Includes all of the original logic from DpsHunterStrategy, with the addition of kill command, bestial wrath, and intimidation.
src\strategy\hunter\DpsHunterStrategy.cpp and src\strategy\hunter\DpsHunterStrategy.h: Old Dps strategy used for all 3 specs - removed.
src\strategy\hunter\GenericHunterStrategy.cpp and src\strategy\hunter\GenericHunterStrategy.h: Tidied up code, added Dragonhawk passthrough to hawk, moved rapid fire to inittriggers for generichunterstrategy and increased its priority (it is still a boost trigger, so it will function the same).
src\strategy\hunter\HunterActions.cpp:
Added isuseful check for aspect of the hawk, to ensure it is never cast if the bot knows aspect of the dragonhawk.
Added isuseful check for arcane shot to never use it after explosive shot is learned (so the hunter can use it as it levels survival, but drops it after that). Also added a check for arcane shot, so it won't use it above 435 armor pen rating (steady shot is superior after this arp).
Added isuseful check for immolation trap so it won't use it after explosive shot is learned.
src\strategy\hunter\HunterActions.h:
General cleanup/alignment of actions based on type.
Added TTL checks to all DoTs and debuffs - hunters weren't using hunter's mark, serpent sting, black arrow, explosive shot on enemies that it thought would die too soon.
Black Arrow - added a strategy check here as well so the bot won't use it at all if trap weave is enabled. There was already a check in the trigger, but it was still getting cast, so I added this check.
Explosive Shot Rank 4, 3, 2, 1 actions- Added these so the hunter can downrank explosive shot dynamically based on the level when lock and load procs. So if the hunter is level 70, and a lock and load proc happens, it will fire rank 2 - rank 1 - rank 2, similar to how the level 80 version will fire 4-3-4.
src\strategy\hunter\HunterAiObjectContext.cpp:
Added strategy support for bm, mm, and surv (and their aoes)
Added trigger support for kill command, explosive shot, lock and load, silencing shot (as an spellcasting interrupt), and intimidation
Added action support for the 4 ranks of explosive shot and intimidation.
src\strategy\hunter\HunterTriggers.cpp: Kill command was completely non-functional because there was no buff trigger associated with it. Adding this will correct that, and the hunter will use kill command.
src\strategy\hunter\HunterTriggers.h: Added Kill command, silencing shot, intimidation, lock and load, and explosive shot triggers.
src\strategy\hunter\MarksmanshipHunterStrategy.cpp and src\strategy\hunter\MarksmanshipHunterStrategy.h: Strategy for MM hunters. Includes all of the original logic from DpsHunterStrategy, with the addition of kill command, silencing shot, chimera shot, and aimed shot.
src\strategy\hunter\SurvivalHunterStrategy.cpp and src\strategy\hunter\SurvivalHunterStrategy.h: Strategy for Survival hunters. Includes all of the original logic from DpsHunterStrategy, with the addition of kill command, explosive shot, black arrow, aimed shot, lock and load triggers + downranking explosive shot.
This PR aims to achieve 4 main things:
1. Manual Curse Strategies - Each curse has it's own toggleable combat strategy, with curse of agony being the default for affliction and demonology, and curse of the elements being default for destro. The other curses that are available are curse of exhaustion (if specced for it), curse of doom, curse of weakness, and curse of tongues (6 total). You can add these by typing "co +curse of weakness", or similar. Note: Curses are part of the WarlockCurseStrategyFactoryInternal(), so there can only be one active.
2. Firestone/Spellstone Non-Combat Strategies - Players requested to me that they can decide if they want to use a spellstone or firestone for their weapon enchant, so I added them as non-combat strategies. Spellstone is the default for affliction and demonology, firestone is the default for destro. To add these, type "nc +firestone" or similar.
3. Soul Shard Replenishment - I noticed after hours of running a server (15+ hours) that altbots and rndbots would only cast imp and not use their soul shards. This is because they were actually running out of soul shards, without the ability to maintain themselves accordingly. I added a trigger (no soul shard) and action (create soul shard) that triggers if they are out of soul shards, creating only 1 soul shard (to not clog up the inventory). This way, you should never have a warlock using the wrong pet, or failing to cast shadowburn, failing to create soulstone/spellstone/firestone/healthstone, or failing to cast soul shatter.
4. Tidying up the code -
I removed the built-in curse code from the DPS strategies, and migrated it to the manual curse strategies.
I clumped the curse triggers and actions together in the associated files.
I added logic for Curse of Weakness to check for conflicting debuffs.
I moved the summoning strategies and curse strategies to their own strategy factories - WarlockPetStrategyFactoryInternal, and WarlockCurseStrategyFactoryInternal. This way they can only have one curse and one pet strategy active at once. I also renamed the "NonCombatBuffStrategyFactoryInternal" to "WarlockSoulstoneStrategyFactoryInternal", which was more accurate.
I changed a single talent point in the Affliction Warlock PVE spec, taking one from destructive reach and adding it into nightfall for those sweet, sweet free shadowbolts.
I added "ss self" as the default non-combat soulstone strategy, as before, they didn't have one assigned. The player can still of course remove that NC strategy and apply another, such as "ss master", "ss tank", or "ss healer".
I re-implemented the pet strategies into the "general" strategy area of the WarlockAiObjectContext, and it worked!!! Finally! The issue before was they were under the "Buff" area of the aiobjectcontext, which can only have 1 active at any given time - this is why the soulstone strategy and the pet strategy were cancelling out each other. Now, pets are summoned via a non-combat strategy that is assigned with aifactory by spec!
Added range checks for running away if too close - The warlocks were happily standing in cleave range and dieing. Now, they will backpedal if too close to an enemy. I also added custom logic to check if in demonology form before backpedaling. I also removed shadow cleave, as the dps increase with negligible (0.1%) and it was causing errors in the actions, resulting in the warlock standing idle in combat.
Hello community,
This PR focuses on 4 things:
Recognizing the Warlock as a "ranged" bot, so they will follow ranged commands and strategies, in GenericWarlockStrategy.h:
uint32 GetType() const override { return CombatStrategy::GetType() | STRATEGY_TYPE_RANGED | STRATEGY_TYPE_DPS; }
Cleanup/deletion of the DpsWarlockStrategy.cpp and .h (no longer used or referenced anywhere)
Fixes soulstone logic so multiple Warlocks don't soulstone the same target, and don't try to soulstone a target that is too far away or out of line of sight (WarlockActions.cpp)
Moved summoning of pets to the main non-combat strategy inittriggers:
// Pet-summoning triggers based on spec
if (tab == 0) // Affliction
{
triggers.push_back(new TriggerNode("no pet", NextAction::array(0, new NextAction("summon felhunter", 29.0f), nullptr)));
}
else if (tab == 1) // Demonology
{
triggers.push_back(new TriggerNode("no pet", NextAction::array(0, new NextAction("summon felguard", 29.0f), nullptr)));
}
else if (tab == 2) // Destruction
{
triggers.push_back(new TriggerNode("no pet", NextAction::array(0, new NextAction("summon imp", 29.0f), nullptr)));
}
- Refactored BattleGroundTactics.cpp
- Bots choose strategies to determine if they are more aggressive or defensive in objectives
- Largely improved bots tactics in WSG, AB, AV and EY
- Improved how bots chase flag carriers
- Fixed some bots stuck in action loops - especially in WSG and AV
- Fixed several other Bugs
PVP Talents and InitGlyph changes
This PR adds 3 pvp specs for each class, as well as their glyphs. It also adds exceptions to the Initglyph function, based on pvp-based talents for each class.
conf\playerbots.conf.dist - Adds 3 pvp specs/glyphs for each class.
src\factory\PlayerbotFactory.cpp - InitGlyph in its current form is unable to correctly assign glyphs on specindexes (or tab) over 2 without an exception. That is why this exception already exists in the code:
if (bot->getClass() == CLASS_DRUID && tab == DRUID_TAB_FERAL && bot->GetLevel() >= 20 && !bot->HasAura(16931))
tab = 3;
This checks if the class is a Druid, if the tab is feral, if they are equal to or above level 20, and they don't have the Thick Hide talent. If all of these are true, then it manually sets the tab = 3. I first discovered this when I noticed that my frostfire mage would never be assigned the correct glyphs in the config - aka glyph of frosfire. It is because the frostfire spec is tab = 3, and no such logic exists. When I started adding the additional pvp specs, I noticed that they never would assign the correct glyphs. I had to add an exception to all pvp specs, and have them check for certain pvp related talents to correlate the tab manually. This is because tab is derived from the AiFactory::GetPlayerSpecTab(bot); function. The only possible tab values from this function are 0, 1, and 2.
**TLDR: Added code to support Frostfire Mage, dual-aura Blood DK, and all the PvP specs for correct glyph assignment.**
src\strategy\actions\ChangeTalentsAction.cpp: When you pick a spec with "talents spec" function, such as "talents spec arms pve", it will now correctly assign glyphs without the player having to execute the maintenance command. Setting the InitGlyphs to false removes prior glyphs.
src\strategy\actions\TrainerAction.cpp - Changed factory.InitGlyphs(true); to factory.InitGlyphs(false);. This makes it so all prior glyphs that were assigned are correctly deleted. I first noticed this when switching between specs and using the maintenance command - I had to login to the bot and manually delete the old glyphs, in order for the maintenance command to assign the new, correct glyphs.
* Corrections to Vanilla max iLevels
This reverts commit 681ec5c5b583dc935d60172f1790c6635eaef9ab, reversing
changes made to f4e6b1644ff2c3fa4b5f97a5b4d7cea14e352263.
* Corrections to Vanilla max iLevels
This is a complete overhaul of the warlock class, making 3 new strategies (affliction, demonology, and destruction), as well as finishing the warlock tank strategy (shadow ward and searing pain). It also includes a soulstone fix, where the bots can change who they soulstone based on the non-combat strategies you set for them. It also includes a self-resurrect action and trigger that allows the bots to resurrect using a soulstone or reincarnation. Many other skills were added to finish out the warlock skillset.
* fix: 🚑 Add spellProcFlag check for flag 2 at UseTrinket Context-Action
Bots will "learn" the trinket proc, so CanCastSpell() will be true e.g. on Item https://www.wowhead.com/wotlk/item=44074/oracle-talisman-of-ablution leading to constant casting of the proc spell onto themselfes https://www.wowhead.com/wotlk/spell=59787/oracle-ablutions. This will lead to multiple hundreds of entries in m_appliedAuras -> Once killing an enemy -> Big diff time spikes. See diagnosis
* perf: ⚡ Should futher reduce the problems, hindering trinkets with other proc flags of being used, see https://www.azerothcore.org/wiki/spell_proc_event
I have tested bots with active trinkets and they are still using them, as well as onhit trinkets are still being triggered like they should. Could also fix some other weird behavior.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
* ICC LK Improve
Improved Shadow Trap, Winter phase and 1st phase.
Bots will now have fixed positions for 1st phase if no shadow trap is present.
Tanks will now take care of taunting adds during winter phase. (Assist tank will collect adds and bring them to main tank, main tank will take over the adds so we have minimal chance of adds rotating towards the raid)
Fixed shadow trap detection.
* ToC dungeon update
Added TOC dungeon strategies for 1st encounter.
Other encounters are pretty easy and straightforward so they do not require strategies. They can be all done with follow, reset, summon, attack, skull icon etc...
Bots (A/H) will automatically check if they have lance equiped or in inventory. If they don't have lance they will pick it up from nearest lance stand and equip it.
Bots will mount nearest mount if they have lance equipped.
Once mounted they will keep Defend aura at 3 stacks (top priority).
In fight they will cast charge if more than 5f away, they will cast shield break if target has Defended aura active and they will use Thrust if they cant use anything else.
In short they will melt any target and enemies wont stand a chance keeping their defend aura up.
Once champions are defeated bot will automatically equip best weapon they have in inventory (weapon that was swapped with lance)
* ICC minor update
LM
Bots will now move in smaller increments to get behind boss
They will still move towards fixed position, but as soon they are not in front of boss, they will stop moving and do other actions.
GS
Fixed cannon trigger, now will return true if cannon is 100f from bots.
It used to return true all the time.
* ToC added Eadric strat
bots will look away during radiance cast
* ICC LK minor fix
fixed crash in icclichkingsaddsaction
* ICC GS fix
While encountering edge case when playing horde, the logic was to detect mages, there are usually 2 around, but the longer the fight last the bigger the chance that cannons would kill all the mages thus once we kill the mage that was casting deep freeze bots could not execute action that would return them back to the ship, so the boss had the time to nuke them one by one.
Even tanks have hard time surviving the boss.
I have changed it now (both A/H) so that we keep track of the enemy boss (which is hard if not impossible to kill as main trigger) and we are keeping track of the mage that is actually casting deep freeze, we mark it with skull, and now as soon the mage is dead, bots will remove the mark so there is 0 confusion about what to do next on their side, and they will come back asap.
* FoS Improved and fixed, ICC LM, LDW and PP updates
FoS
Improved/fixed triggers, Improved/fixed actions.
Bronjahm
Tank will properly kite soul fragment around the room
Replaced attack action with skull rti to focus soul fragments
Non-tank bots will only try to stay within 10f of boss only once we enter last phase, tank will be in the middle of the room if it is not kiting soul fragment
Devourer of Souls
DPS bots will stop dps if boss is casting mirrored soul
Laser can be easily avoided with follow/summon
ICC
LM
Tank will only move to tank position if it actually have the agro, it used to move there without agro and few of the bots would get killed since tank was unable to reach bot
LDW
Fixed edge case where tank would be target of shade and it would be unable to move away it from it due to tank position restrictions, now if Tank is targeted by shade it will be able to move and run away from it (in hc this could cause wipes since explosion is aoe + tons of dmg)
PP
When oozes spawn, tank will move towards green ooze spawn to keep raid near green ooze (faster kill) and far away from gas cloud (better chance to kill if abo didn't manage to slow it)
* PoS Strategies
Ick and Krick
All boss mechanics implemented
Forgemaster Garfrost
Easily doable with follow/stay/summon
Scourgelord Tyrannus
Ranged bots will spread so that they all don't get frozen by dragon
They avoid everything else on their own
* ICC Refactor, All bosses improved NM and HC
Major Update
* Update playerbots.conf.dist
* ICC Fixes/Improvements
LM
Assist tank moving to kill spikes (it should always stack with main tank to soak dmg)
LDW
Improved shade evasion (added los checks before moving to avoid clipping thru walls and floor)
Fixed tanks moving to tank position befor having aggro
Festergut
Fixed ranged position overlaping with each other
Fixed sometimes hunters were placed to close to the boss
PP
Improved gas cloud kiting, bots should not get stuck in corners anymore while moving away
Gas cloud target will use nitro boosts now, so that players dont wipe if abo fails to slow gas cloud
Due to possible oozes duplications in hc caused by bad phasing, bots will kill duplicates to make encounter a bit easier
BQL
Fixed bots failing to link up in 25man
VDW
Group 1 and Group 2 can move freely now around the room, but once group set their marker they will focus left or right side depending on their assigned position
(Positions were to limiting in 25 man and they could not kill adds fast enough)
Fixed marker overlaping
Optimized cloud collecting for portal bots
LK
Fixed in winter phase tank not collecting adds if more than one add is present
* Hotfix
Possible crash fix prevention
Increased kiting radius for assist tank on Rotface
* minor improve
Added nitro boosts on sindy for beaconed player in last phase (they could be all over the place and wipe raid since they could not reach position in time)
Even if guildTaskEnabled was set to 0 in the configuration file, a few queries like PLAYERBOTS_SEL_GUILD_TASKS_BY_VALUE, PLAYERBOTS_SEL_GUILD_TASKS_BY_OWNER were executed, which lead to a massive amount of unnecessary database load
* fix: ⚡ added missing guildTaskEnabled checks for GuildTaskMgr
Even if guildTaskEnabled was set to 0 in the configuration file, a few queries like PLAYERBOTS_SEL_GUILD_TASKS_BY_VALUE, PLAYERBOTS_SEL_GUILD_TASKS_BY_OWNER were executed, which lead to a massive amount of unnecessary database load
* fix: ⚡ added missing checks for PetIsDeadValue
Hunter under level 10, which are not able to summon their pets defined in the database spammed SELECT id FROM character_pet WHERE owner = {}, since the result of the query was true. Bots under level 10 already have pets in their stables. Also the same thing applied to Bots on mounts, because, while mounted, pets get despawned. This should drastically improve server performance.
* fix: ⚡ refactored query, pet should only check death state of his current pet
The old query also fetched all pets out of his stable, which is not needed, since we are looking for slot 0 (active pet)
* style: 🎨 and to AND typo
* fix: 🐛 Reverted 5a6182f977
A few hunters with pets in stable, where slot = 100 would not summon their pets
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
* ICC LK Improve
Improved Shadow Trap, Winter phase and 1st phase.
Bots will now have fixed positions for 1st phase if no shadow trap is present.
Tanks will now take care of taunting adds during winter phase. (Assist tank will collect adds and bring them to main tank, main tank will take over the adds so we have minimal chance of adds rotating towards the raid)
Fixed shadow trap detection.
* ToC dungeon update
Added TOC dungeon strategies for 1st encounter.
Other encounters are pretty easy and straightforward so they do not require strategies. They can be all done with follow, reset, summon, attack, skull icon etc...
Bots (A/H) will automatically check if they have lance equiped or in inventory. If they don't have lance they will pick it up from nearest lance stand and equip it.
Bots will mount nearest mount if they have lance equipped.
Once mounted they will keep Defend aura at 3 stacks (top priority).
In fight they will cast charge if more than 5f away, they will cast shield break if target has Defended aura active and they will use Thrust if they cant use anything else.
In short they will melt any target and enemies wont stand a chance keeping their defend aura up.
Once champions are defeated bot will automatically equip best weapon they have in inventory (weapon that was swapped with lance)
* ICC minor update
LM
Bots will now move in smaller increments to get behind boss
They will still move towards fixed position, but as soon they are not in front of boss, they will stop moving and do other actions.
GS
Fixed cannon trigger, now will return true if cannon is 100f from bots.
It used to return true all the time.
* ToC added Eadric strat
bots will look away during radiance cast
* ICC LK minor fix
fixed crash in icclichkingsaddsaction
* ICC GS fix
While encountering edge case when playing horde, the logic was to detect mages, there are usually 2 around, but the longer the fight last the bigger the chance that cannons would kill all the mages thus once we kill the mage that was casting deep freeze bots could not execute action that would return them back to the ship, so the boss had the time to nuke them one by one.
Even tanks have hard time surviving the boss.
I have changed it now (both A/H) so that we keep track of the enemy boss (which is hard if not impossible to kill as main trigger) and we are keeping track of the mage that is actually casting deep freeze, we mark it with skull, and now as soon the mage is dead, bots will remove the mark so there is 0 confusion about what to do next on their side, and they will come back asap.
* FoS Improved and fixed, ICC LM, LDW and PP updates
FoS
Improved/fixed triggers, Improved/fixed actions.
Bronjahm
Tank will properly kite soul fragment around the room
Replaced attack action with skull rti to focus soul fragments
Non-tank bots will only try to stay within 10f of boss only once we enter last phase, tank will be in the middle of the room if it is not kiting soul fragment
Devourer of Souls
DPS bots will stop dps if boss is casting mirrored soul
Laser can be easily avoided with follow/summon
ICC
LM
Tank will only move to tank position if it actually have the agro, it used to move there without agro and few of the bots would get killed since tank was unable to reach bot
LDW
Fixed edge case where tank would be target of shade and it would be unable to move away it from it due to tank position restrictions, now if Tank is targeted by shade it will be able to move and run away from it (in hc this could cause wipes since explosion is aoe + tons of dmg)
PP
When oozes spawn, tank will move towards green ooze spawn to keep raid near green ooze (faster kill) and far away from gas cloud (better chance to kill if abo didn't manage to slow it)
* PoS Strategies
Ick and Krick
All boss mechanics implemented
Forgemaster Garfrost
Easily doable with follow/stay/summon
Scourgelord Tyrannus
Ranged bots will spread so that they all don't get frozen by dragon
They avoid everything else on their own
* ICC Refactor, All bosses improved NM and HC
Major Update
* Update playerbots.conf.dist
* CMaNGOS Playerbots "lfg" command implemented
* Remove logging, fix warning, add suggestion
- Remove LOG_INFO's console clutter, since 'lfg' command is working correctly now.
- Warning C26813 fixed for: placeholders["%role"] = (role == BOT_ROLE_TANK ? "tank" : (role == BOT_ROLE_HEALER ? "healer" : "dps"));
- Added suggestion to let bots do autogear & maintenance, so players can instantly start their dungeon or raid activities without manually having to configure the playerbots gear. It could save a lot of time. This is up to discussion for playerbots maintainers.
* Do not disband alt bots group when master goes away
* This update makes the original PR functionality optional, which prevents alternative bots (random bots) from automatically leaving the group when the master leaves.
* Fix
---------
Co-authored-by: bash <31279994+hermensbas@users.noreply.github.com>
To correcte the build warning in VS
Commented:
// bot->GetPetStable()->CurrentPet.value();
Added:
auto petGuid = bot->GetPetStable()->CurrentPet.value();
* Make variable name more intuitive
* Make variable name more intuitive
* Make variable name more intuitive and clarify function
* Update playerbots.conf.dist
* Update PlayerbotAIConfig.cpp
* Update PlayerbotAIConfig.h
* Update RandomPlayerbotMgr.cpp
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Make variable name more intuitive
* Make variable name more intuitive
* Make variable name more intuitive and clarify function
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Prevents recreating the tamed pet in InitPet() for hunter bots
This update adds a check to prevent the InitPet() method from re-creating a pet for hunter bots that already have a tamed pet (GetPetId() != 0). This prevents pets that have already been trained and have talents set from being lost, especially after login or teleportation. Responsibility for re-summoning an existing pet can be handled separately via LoadPetFromDB.
* Including check at start to avoid creating a new pet if the bot already has one active or saved in the stable (CurrentPet).
Initial check to avoid pet re-creation.
Selection of tamable creatures appropriate to the bot's level.
Creation, configuration and saving of the pet.
Application of visual effects and initialization of talents.
Activation of autocast for non-passive spells.
* Fix
* .
* Fixed a typo in filename and renamed table for consistency
* Added update file to rename the tables
* Drop old tables if they exist and create new ones if they don't exist already
- Prevent bots from looting Gunship Armory chest in ICC before the event ends (#1162)
- Fix bots being able to loot Tribunal Cache in Halls of Stone multiple times (#1200)
- Ensure bots do not attempt to loot Deathbringer's Cache in ICC before it is available
Three chests (Gunship Armory, Tribunal Cache, Deathbringer's Cache) were tested and now behave as expected: bots will not approach or attempt to loot chests while they are unlootable, even if players move close to them.
Closes#1162, #1200
* feat(playerbots): staggered taxi take-off for bots
Adds four new configurable settings to playerbots.conf:
- AiPlayerbot.BotTaxiDelayMinMs: Min random delay before the 1st follower bot clicks the flight-master
- AiPlayerbot.BotTaxiDelayMaxMs: Upper bound for the overall taxi delay window – larger spreads big raids
- AiPlayerbot.BotTaxiGapMs: Fixed gap added per group-slot so bots never take off together
- AiPlayerbot.BotTaxiGapJitterMs: Extra small randomness added to each gap so launches don’t look robotic
These options allow server owners to fine-tune how bots queue up and take off from flight masters, making their behavior appear more natural.
Closes#1017 : Bots use Flight master nearly the same time.
* fixed build errors
Was missing a header and variable declarations.
Fixes#1276
This change adds logic to detect if an item is a relic and ensures it can only be equipped by bots of the corresponding class:
- Idols are restricted to druids
- Librams are restricted to paladins
- Sigils are restricted to death knights
- Totems are restricted to shamans
Fixes a bug where bots would attempt to equip relics regardless of class restrictions.
Additionally, this commit resolves two unrelated build warnings found in the same file.
Fixes#1169
Reverts TankAssistStrategy and DpsAssistStrategy InitTriggers implementations to their previous versions.
The changes from commit 24efa7e appeared to be optimizations without fixing any documented bugs, but were causing issues.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
* ICC LK Improve
Improved Shadow Trap, Winter phase and 1st phase.
Bots will now have fixed positions for 1st phase if no shadow trap is present.
Tanks will now take care of taunting adds during winter phase. (Assist tank will collect adds and bring them to main tank, main tank will take over the adds so we have minimal chance of adds rotating towards the raid)
Fixed shadow trap detection.
* ToC dungeon update
Added TOC dungeon strategies for 1st encounter.
Other encounters are pretty easy and straightforward so they do not require strategies. They can be all done with follow, reset, summon, attack, skull icon etc...
Bots (A/H) will automatically check if they have lance equiped or in inventory. If they don't have lance they will pick it up from nearest lance stand and equip it.
Bots will mount nearest mount if they have lance equipped.
Once mounted they will keep Defend aura at 3 stacks (top priority).
In fight they will cast charge if more than 5f away, they will cast shield break if target has Defended aura active and they will use Thrust if they cant use anything else.
In short they will melt any target and enemies wont stand a chance keeping their defend aura up.
Once champions are defeated bot will automatically equip best weapon they have in inventory (weapon that was swapped with lance)
* ICC minor update
LM
Bots will now move in smaller increments to get behind boss
They will still move towards fixed position, but as soon they are not in front of boss, they will stop moving and do other actions.
GS
Fixed cannon trigger, now will return true if cannon is 100f from bots.
It used to return true all the time.
* ToC added Eadric strat
bots will look away during radiance cast
* ICC LK minor fix
fixed crash in icclichkingsaddsaction
* ICC GS fix
While encountering edge case when playing horde, the logic was to detect mages, there are usually 2 around, but the longer the fight last the bigger the chance that cannons would kill all the mages thus once we kill the mage that was casting deep freeze bots could not execute action that would return them back to the ship, so the boss had the time to nuke them one by one.
Even tanks have hard time surviving the boss.
I have changed it now (both A/H) so that we keep track of the enemy boss (which is hard if not impossible to kill as main trigger) and we are keeping track of the mage that is actually casting deep freeze, we mark it with skull, and now as soon the mage is dead, bots will remove the mark so there is 0 confusion about what to do next on their side, and they will come back asap.
* FoS Improved and fixed, ICC LM, LDW and PP updates
FoS
Improved/fixed triggers, Improved/fixed actions.
Bronjahm
Tank will properly kite soul fragment around the room
Replaced attack action with skull rti to focus soul fragments
Non-tank bots will only try to stay within 10f of boss only once we enter last phase, tank will be in the middle of the room if it is not kiting soul fragment
Devourer of Souls
DPS bots will stop dps if boss is casting mirrored soul
Laser can be easily avoided with follow/summon
ICC
LM
Tank will only move to tank position if it actually have the agro, it used to move there without agro and few of the bots would get killed since tank was unable to reach bot
LDW
Fixed edge case where tank would be target of shade and it would be unable to move away it from it due to tank position restrictions, now if Tank is targeted by shade it will be able to move and run away from it (in hc this could cause wipes since explosion is aoe + tons of dmg)
PP
When oozes spawn, tank will move towards green ooze spawn to keep raid near green ooze (faster kill) and far away from gas cloud (better chance to kill if abo didn't manage to slow it)
Fixes#1179
This update fixes several issues related to bot behavior in battlegrounds when the player dies and releases spirit:
- Removed conflicting strategies (+stay / +follow): Bots were being told to follow and stay simultaneously each tick, causing oscillating movement ("stuttering"). The +stay strategy is now skipped in BGs to allow bots to continue objectives normally.
- Disabled follow while in BG: When the player died, bots attempted to return to the player repeatedly, abandoning objective-based movement. PlayerbotAI now sets -follow while in BGs to keep bots engaged with the objectives.
- Prevented dead bots from following ghosts: Previously, dead bots would follow ghost players away from the graveyard and potentially miss Rez. Bots now wait at the spirit healer when dead in BGs.
- Removed redundant strategy changes and messages in ReleaseSpiritAction as they no longer apply in battleground contexts.
Fix: Better handling of CC state transitions in bot movement:
- Added wasMovementRestricted to track CC status
- Enhanced UpdateMovementState() to detect and react to CC ending
- Triggered movement flag update to fix animation desync
This ensures proper client-server movement synchronization and resolves the visual bug where bots appeared to jump or skip positions. The fix restores the correct movement animation state, replicating the effect previously achieved with the reset or summon commands.
* Add table to store the security keys for accounts.
* Add table to store relationships between accounts.
* Add a new configuration option to enable or disable trusted account bots.
* add checks for linked accounts
* Handle account linking and chat commands
* fix uppercase typo
* change query & fix chatcommandtable
* add missing functions to header
* move account linking to updates dir
* moved table creation to correct updates folder
* use playerbots db instead of character db
* fix db
* fix install?
* remove duplicated logic and add hashing to stored securityKey
* add object before call
* change chat variable
* rename SQL file for correct execution order
* add header include for ubuntu compatibility
* remove old sql
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
* ICC LK Improve
Improved Shadow Trap, Winter phase and 1st phase.
Bots will now have fixed positions for 1st phase if no shadow trap is present.
Tanks will now take care of taunting adds during winter phase. (Assist tank will collect adds and bring them to main tank, main tank will take over the adds so we have minimal chance of adds rotating towards the raid)
Fixed shadow trap detection.
* ToC dungeon update
Added TOC dungeon strategies for 1st encounter.
Other encounters are pretty easy and straightforward so they do not require strategies. They can be all done with follow, reset, summon, attack, skull icon etc...
Bots (A/H) will automatically check if they have lance equiped or in inventory. If they don't have lance they will pick it up from nearest lance stand and equip it.
Bots will mount nearest mount if they have lance equipped.
Once mounted they will keep Defend aura at 3 stacks (top priority).
In fight they will cast charge if more than 5f away, they will cast shield break if target has Defended aura active and they will use Thrust if they cant use anything else.
In short they will melt any target and enemies wont stand a chance keeping their defend aura up.
Once champions are defeated bot will automatically equip best weapon they have in inventory (weapon that was swapped with lance)
* ICC minor update
LM
Bots will now move in smaller increments to get behind boss
They will still move towards fixed position, but as soon they are not in front of boss, they will stop moving and do other actions.
GS
Fixed cannon trigger, now will return true if cannon is 100f from bots.
It used to return true all the time.
* ToC added Eadric strat
bots will look away during radiance cast
* ICC LK minor fix
fixed crash in icclichkingsaddsaction
* ICC GS fix
While encountering edge case when playing horde, the logic was to detect mages, there are usually 2 around, but the longer the fight last the bigger the chance that cannons would kill all the mages thus once we kill the mage that was casting deep freeze bots could not execute action that would return them back to the ship, so the boss had the time to nuke them one by one.
Even tanks have hard time surviving the boss.
I have changed it now (both A/H) so that we keep track of the enemy boss (which is hard if not impossible to kill as main trigger) and we are keeping track of the mage that is actually casting deep freeze, we mark it with skull, and now as soon the mage is dead, bots will remove the mark so there is 0 confusion about what to do next on their side, and they will come back asap.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
* ICC LK Improve
Improved Shadow Trap, Winter phase and 1st phase.
Bots will now have fixed positions for 1st phase if no shadow trap is present.
Tanks will now take care of taunting adds during winter phase. (Assist tank will collect adds and bring them to main tank, main tank will take over the adds so we have minimal chance of adds rotating towards the raid)
Fixed shadow trap detection.
* ToC dungeon update
Added TOC dungeon strategies for 1st encounter.
Other encounters are pretty easy and straightforward so they do not require strategies. They can be all done with follow, reset, summon, attack, skull icon etc...
Bots (A/H) will automatically check if they have lance equiped or in inventory. If they don't have lance they will pick it up from nearest lance stand and equip it.
Bots will mount nearest mount if they have lance equipped.
Once mounted they will keep Defend aura at 3 stacks (top priority).
In fight they will cast charge if more than 5f away, they will cast shield break if target has Defended aura active and they will use Thrust if they cant use anything else.
In short they will melt any target and enemies wont stand a chance keeping their defend aura up.
Once champions are defeated bot will automatically equip best weapon they have in inventory (weapon that was swapped with lance)
* ICC minor update
LM
Bots will now move in smaller increments to get behind boss
They will still move towards fixed position, but as soon they are not in front of boss, they will stop moving and do other actions.
GS
Fixed cannon trigger, now will return true if cannon is 100f from bots.
It used to return true all the time.
* ToC added Eadric strat
bots will look away during radiance cast
* ICC LK minor fix
fixed crash in icclichkingsaddsaction
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
* ICC LK Improve
Improved Shadow Trap, Winter phase and 1st phase.
Bots will now have fixed positions for 1st phase if no shadow trap is present.
Tanks will now take care of taunting adds during winter phase. (Assist tank will collect adds and bring them to main tank, main tank will take over the adds so we have minimal chance of adds rotating towards the raid)
Fixed shadow trap detection.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC trigger optimization
Optimized trigger and action for:
KineticBomb
OozePuddle
This commit adds a missing composite index on the `playerbots_random_bots` table
(`owner`, `bot`, `event`) to improve database performance during high playerbot
activity.
Adding this index significantly reduces the occurrence of deadlocks when multiple
threads access the random bots table simultaneously.
The change is 100% backward-compatible and does not affect existing data or
functionality.
* Introduction of the SafeLearn(spellId) lambda that checks if the bot already knows the spell before learning it.
This PR adds a safety check to the mount skill learning process in PlayerbotFactory::InitSkills, using a SafeLearn lambda to prevent the bot from trying to learn spells it already has. This fixes error messages like Duplicate entry when using the .bot init command.
* Check the bank and avoid error
* .
* fix
A simple RAII mechanism with std::unordered_set<ObjectGuid> to track GUIDs of init bots.
Ensures that multiple threads or calls do not execute PlayerbotFactory::Randomize() logic at the same time for the same bot.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* ICC 25HC ldw shades fix
Fixed bots could not detect shade if there were multiple present
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* ICC Sindragosa and LK Improve
Sindragosa
Improved tomb los for frost bombs. Bots will now mark tomb with moon rti to avoid killing it too soon. (If they still attack the tomb, simply reset and after bombs are over, simply attack the tomb to kill or mark with a skull.)
Main Tank will reset mystic buffet stacks now to avoid tank swapping since it's really unreliable which will make sindy less frustrating to kill (other bots will need to do mechanics properly by hiding behind ice tombs).
LK
Necrotic plague action
Bots will now check before moving to the Shambling if they are in front of the Shambling to avoid getting one shoted by shockwave.
Improved multiplier, which will now properly handle dispelling of necrotic plague.
Winter phase action
Bots will properly move behind adds to avoid getting one shoted by shamblings or raging spirits.
If there is a hunter in the grouphunter will focus on spheres; if not, any ranged DPS will focus spheres.
Adds action
Bots will now be in proper positions during the 1st phase, and when the off tank is done collecting shamblings, it will move away from the group.
Bots (non-tanks) will move behind the shambling if they are in front of it to avoid getting one shoted in the 1st phase.
Restored action for checking if bots are at ground level, since they were still sometimes glitching through the floor (valkrys will be able to carry bots and drop them off the edge if not killed in time).
Improved defile calculations for 10 man and 25 man raids since defile was growing differently for 10 and 25, which would make bots in 25 man move very far away from somewhat small defile puddle.
Bots will now properly CC any valkyr that wasn't CC'd, and they won't freak out anymore if multiple valkyrs are present. (They can't tell which valkyr is holding bots/ players, so we should command an attack on valkyrs that are holding someone.)
Bots will now run away from Vile Spirits if they are targeted by them during the last phase.
* Fix: Prevents bots from learning spells twice
Added bot->HasSpell() check before calling bot->learnSpell() to ensure the bot does not learn spells it already has.
This avoids redundant behavior, possible unnecessary logging, and inconsistencies in learning spells trained with SPELL_EFFECT_LEARN_SPELL.
* Possible fix
* Add addclass bots to trading list, differentiate between buying and selling.
* typos
* Try calling playerguid
* point IsAddclassBot to IsRandomBot
* typo
* Fix through IsAddClassbot
* Working Version
* Minor typos.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* ICC LM & LDW Improved
LM
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Simplified trigger for spike action, since attack logic is handled by skull RTI now.
Bots (tanks) will mark spikes with skull RTI, which will make bots instantly switch to Spike targets. If no spike is present, the boss will be marked.
Added logic that will make non-tank bots move away from LM to a fixed position behind LM if they happened to be in front of LM (No more insta kills with cleave).
If LM is casting Bone Storm, bots will ignore the above logic and do max dps.
LDW
Removed Attack Action since it was buggy and replaced it with RTI. (Improved DPS)
Bots (tanks) will mark adds with skull RTI, which will make bots instantly switch to adds targets. If no spike is present, the boss will be marked, which will help with keeping allies alive when they get mind controlled by LDW.
Moved 2nd phase position deeper into the room and reduced boss hp trigger to 95%, which will keep tanks where they should be during 1st phase (sometimes the boss dropped below 98% and tanks would ping pong around the room).
Ranged bots will now spread closer to each other now and will ignore spreading if they are 2 far or 2 close to the boss so they can properly reposition.
These changes should also fix recent bugs with bots not casting/standing still on LM and LDW.
* ICC DBS Improve
Replaced attack action with RTI. (Improved DPS)
Ranged bots will move away from blood beast if targeted by it now.
* Group improvement: Bots will no longer auto-invite players who have DND enabled.
* Group fix: Bots will no longer invite self-bots to groups with dnd enabled.
* Invite fix: Bots will no longer invite DnD players from their guild.
* Guild group invite improvement: Lower level guildmembers may now invite higher level players to help them out.
* Crash fix: Bots inviting players into a group that are being teleported.
* Invite fix: Bots will no longer automatically convert to raid when inviting real players.
* Group fix: Bots now properly group up automatically again.
* Group fix: Bots no longer invite themselves to groups from the guild.
* Fix
* Fix build
* New Fix
* .
* ..
* Add RandomBotMinLevelChance
* Save mana only for healer
* Disable addclass dk for low level player
* Target selection and debuff cast with less players in group
* Change default rpg strategy and bots count in config
* Logs clean up
* Improve init=auto
* Remove login logs after initialization
* Rndbots stats for quest
* Prediction chase in reach combat
* Poor & Normal items ensurence for init=auto
* Fixed crash in MoveFromWhirlwindAction::Execute function
This PR fixes a crash in the MoveFromWhirlwindAction::Execute function in NexusActions.cpp. The error occurred when accessing boss->GetPosition() without checking whether boss was a valid pointer. The fix adds a nullptr check before calculating the distance, preventing invalid accesses and ensuring the stability of the action execution.
* Fix comment
Checking bots and botAI before method calls.
Validating targets and confirming if they are still in the world (IsInWorld()).
Adding debug logs (LOG_DEBUG) to make it easier to identify issues.
Prevents invalid accesses to the word[] array, preventing possible crashes.
Improves the message selection logic in bot chat.
Fixes an error in the switch-case structure, ensuring that all possible messages are used correctly.
* Updated IsItemUsefulForQuest to handle items that create required quest items
* Debug output
* Removed unneeded botAI->
* Debug output in Calculate
* -> not .
* Comprehensive debug output for quest usage
* Corrected logic for lootable items when sync quest is enabled
* #include "LootObjectStack.h"
* Corrected call to IsItem
* Removed debug statements
* Reimplement ItemCount >= RequiredItemCount
* Modified CanLoot to loot all items when loot source is an item in their bags
* Set loot target when sending Open packet
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
* ICC minor update
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle if the room so that bots don't spread out too much which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC LK minor update
Commented out z axis bypass since it was fixed with recent core updates.
Bots no longer fall thru buggy platforms so its no longer needed which in return makes valkyrs works as they should.
* Optimize Mountaction: Movement Logic with Early Return for Matching Forms or Speed
Added a missing check, so if both master and bot are in matching forms or master is mounted with corresponding speed, early return as there is nothing to do.
This improves logic, actions, and prevents some strange movement behavior when both master and bot already are in travel form.
* add ability to add or remove character with same name as account
* seperate bot add and bot addacount so that characters with same name as an account doesn't add all toons from that account but adds the character instead if so desired
* New rpg startup speed up and refactor
* New rpg do quest
* Fix invalid height in quest poi
* Add quest accept and reward limitation
* New rpg quest improvement
* Organize quest log, reward quests and fix grind target
* Quest dropped statistic and remove redundant code
* Decrease grind relevance lower than loot
* Fix new rpg drop quest
* Go to reward quest instead of innkeeper when quest completed
* Fix incorrect logic in do quest reward
* Fix reset quests in factory
* Fix crash on grind target value
Co-authored-by: SaW <swerkhoven@outlook.com>
* Fix a minor error in DoCompletedQuest
* Let bots get rid of impossible quests faster
* Increase loot fluency (especially for caster)
* Remove seasonal quests from auto accept
* Enhance quest accept condition check
* Add questgiver check (limit acceptation of quest 7946)
* Questgiver check and localization
* Near npc fix
* Fix quest item report
* Add lowPriorityQuest set for quests can not be done
* Improve gameobjects loot
* Do complete quest
* FIx move far to teleport check
* Accept or reward quest from game objects
* Fix possible crash in rpg game objects
* Fix ChooseNpcOrGameObjectToInteract crash
---------
Co-authored-by: SaW <swerkhoven@outlook.com>
Update will allow any adequately leveled bot to queue for all random and specific TBC dungeons. Normal and Heroic modes that require attunement or keys will be accessible by bots.
InitReputation: Level 70+ Bots will receive Honored rank for all the required factions needed for Heroic keys to function. I've placed the calls to InitRep before InitMounts, I feel we can do something with that in the future. Randomised rep values might allow bots to obtain other mounts?
InitKeyring: All bots receive all non-rep required keys (Shattered Halls Key, Shadow Labyrinth Key, Key to the Arcatraz), and bots with the required rep (Honored) get the other keys.
InitAttunementQuests: Level 60+ bots complete the Caverns of Time and Magister's Terrace attunement quests.
Updated acore_playerbots SQL; playerbots_dungeon_suggestion_definition; max_level increased to 73 (from 70) for all TBC Heroics and Magister's Terrace nomal. Allows more level appropriate bots to join.
Resolves#947
Equip logic was failing as projectiles were never returning ITEM_USAGE_EQUIP in ItemUsageValue.cpp, added two cases where equip is returned:
If no ammo is currently set
If new ammo has higher DPS than old/currently equipped ammo
While testing this using "b [itemlink]" and "b vendor" to purchase arrows I noticed some issues with BuyAction.cpp and have resolved them:
Bots will now perform the "equip upgrades" action for any bought item that has an equip usage
When using "b vendor" to buy all useful items from vendors within interaction distance, it now sorts the list of available items by calculated item score and buys the highest scoring item (if it is higher than the currently equipped item) for each slot. It should not buy multiple items for the same slot anymore, saving gold/emblems/etc.
"b vendor" will now only attempt to buy 1 of each item. Consumable and projectile item types can be bought up to 10 times per execution as long as it is still useful to buy the item in each iteration of the for loop. All items were following this behaviour previously and since the equip command was only given after the for loop it would buy 10 of an item before triggering it wasn't useful to buy more.
And finally, resolved issues where a bot runs out of ammo mid-fight:
Re-enabled combat and non-combat "no ammo" strategies to perform "equip upgrades" action.
Modified GenericTriggers.cpp; AmmoCountTrigger::IsActive to return true when the bot has ammo but it is not equipped yet.
* Takes bot rotation into account and adjust accordingly when enabled as it requires to be higher than MaxRandomBots to function properly.
* Correct default config to reflect that bots pool size for rotation should be higher than MaxRandomBots
* Revert space at start of all lines.
* Remove RandomBotAccountCount requirement
* Remove RandomBotAccountCount
* Remove randomBotAccountCount
* Remove randomBotAccountCount
* Update playerbots.conf.dist
* Style
* Set RotationPoolSize to 20 to work with the bot amount defaults
* Update PlayerbotAIConfig.cpp: Sync with default config
* Set +1 where appropriate
* Acc patch (#73)
* Account for TBC
* Still made it possible to change manually if desired
* uint32 randomBotAccountCount;
* Update Playerbots.cpp
* German full translation
With the power of ChatGPT i translated all chatter texts into German locale.
Insterted the German texts into text_loc3.
Everything else should stay unchenged.
* forgot headline
* Edit to announcement
fits better into the AC MotD and looks much better
Add announcement on server initialization and character login.
For repack distribution and public server host, avoid unintentional violations of AGPLv3.0 license.
- Fix for the issue that bots occasionally moved awkward when mounted inside BG's
- Removed redundant mount data retrieval
- Removed redundant extra check on if carrying a flag (already covered in isUseful)
- Removed no longer necessary code
- Combined some conditions as having them separate made little sense anymore
- Moved checking carrying flag into the BG logic
* German full translation
With the power of ChatGPT i translated all chatter texts into German locale.
Insterted the German texts into text_loc3.
Everything else should stay unchenged.
GS
Bots will mark mage with skull rti
Rotface
Fixed bots glitching thru walls and floors (added check if position is valid before moving)
PP
Bots will mark volatile ooze with skull rti now which will help them focus it and kill asap (usefull for heroic when both volatile ooze and gas cloud are present at the same time)
VDW
Added default group position in the middle of the room so that bots don't spread out too much, which will force them to focus supressers more
Fixed Boss healers not keeping themself alive when low on HP
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC BPC major update, fix and improve
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading(ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC BQL/VDW major update + minor fixes/improvements
LDW improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid). Druid will be assigned to raid healing if no druid present then some other random heal class. Added rotations for druid healers if they end up healing the boss. Raid healers will not use portals anymore. Healers will come to the ground now after using portals (they were stuck in air)
* ICC LK minor update
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
* ICC minor Sindy improve
Reduced position tolerances and forced movement for beacon and non beacon positions which will make bots move to spot that they actually need to be at instead of randomly running to sindragosa or beaconed players.
PP
Removed pre stacking for ranged when volatile ooze spawn (they will kill it much faster now and only stack if someone actually gets targeted by ooze)
LK
Hunters will use trnaq shot to remove enrage from shamblings
Improved valkyr cc
Minimized ping-ponging during winter phase
LDW
Improved spreading for ranged, tanks will move boss in the middle of the room now when shield is depleted which will make bots bug less around pillars
GS
Assist tank will not teleport to enemy ship and will keep tanking adds on our ship now
DBS
Ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum), fixed bug where in 25 man ranged bots would go behind walls, making them unable to dps boss, improved rune of blood tanking
Festergut
Ranged spread improved (they will calcualte spot for each bot and stick with it reducing movment to minimum)
BQL
Melee spread improved, bite logic improved, added swarming shadows logic (not perfect but at least it wont be all over the room anymore), Tanks will properly handle blood mirror now
VDW
Boss and raid healers will be automatically assinged depening by number of healers(if more than 3 healers in group, 2 will focus on raid and others will heal boss, otherwise one healer will heal raid).
Druids will be assigned to raid healing if no druid present then some other random heal class.
Added rotations for druid healers if they end up healing the boss.
Raid healers will not use portals anymore.
Healers will come to the ground now after using portals (they were stuck in air)
* EoTS: Changed FC logic to use MoveNear while not in combat
Similar to WSG commit from a few days ago
* Changed action priorities in EotS to ACTION_MOVE + x
* Adjusted EotS flag carrier objective selection
Random chance reduced from 1/2 to 1/3
Distance threshold before objective switch is considered reduced to 15.0yds
* Check game objects loot tables and determine if loot is valid
* Removed LOS checks since they already occur and removed enemy near node check
* Dismount if mounted, decresed interaction distance, added looting delay
* Decreased interaction distance
* oops, wrong file
* Check game objects loot tables and determine if loot is valid
Resolved issue where bots are transformed (e.g Deathbringer's Will trinket) and would stand still attempting to mount, still allows mounting when the transform allows it (e.g Pirate Costume, Transporter Malfunction)
Fixed main tank sometimes not tanking both bosses (vala and talda)
Improved marking of current prince
Empowered vortex: bots will now spread out when it is being cast, instead of always spreading (ranged). This will make melee also spread better now since bots will calculate and move to optimal positions.
Added Kinetic bomb handling.
Hunters will take care of bombs, if no hunter is present then any ranged dps will take care of kinetic bombs.
* ICC Festergut 10 Man fix
There was a rare case in 10 Man when 2 tanks would get spores which made them both stack at melee spot. Now the code will check if any of the spored player is main tank, if it is, it will stay at melee and other spores will go at ranged spot since off tank doesn't really need to stand near main tank all the time.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* ICC fixed missing A/H buff
Fixed missing ICC buff for A and H
Buff will only be present when logged on and in ICC, once any bot or player leave ICC the buff is gone to prevent abuse.
This will make ICC easier now and with recent DPS update and movement improvement bots will now actully do decent dps and even greater healing.
Ally buff
https://www.wowhead.com/wotlk/spell=73828/strength-of-wrynn
Horde buff
https://www.wowhead.com/wotlk/spell=73822/hellscreams-warsong
* revert last change
revert buff
* ICC improve Rotface
Bots will now mark Rotface with skull icon, which will make them focus boss instead of oozes automatically
Updated the Docker section to instruct users to use docker-compose.override.yml instead. Additionally added :ro at the end of the volumes mountpoint for modules, and gives a short example of how to use config settings as environment variables.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
* ICC improve Sindy
Bots will now choose non beacon position based on difficulty, 10/25
* Updated AV strategy so only 2 towers need to be down before final boss
* Adjusted role assignments for AV: less defenders, more forward attackers
* Added strategy for team has flag in WSG
team has flag triggers bg protect fc action @ 75 priority
* Updated protectFC function with MoveNear instead of follow
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* ICC fixes GS, PP; BQL, SINDY
Minor fixes, bite action improved
I've updated ai_playerbot_texts.sql and added over 900+ new lines for the bots to use in-game, including a mix of humorous and standard lines, along with a nod to the classic Barrens chat. This update is designed to make the game feel more immersive by providing the Playerbots Module with more dialogue options as you play.
* Update RandomPlayerbotMgr.cpp
* Update playerbots.conf.dist
* Update PlayerbotAIConfig.h
* Update PlayerbotAIConfig.cpp
* Update playerbots.conf.dist
* Update playerbots.conf.dist
* Updated information
* Update RandomPlayerbotMgr.cpp
Avoid reverting https://github.com/liyunfan1223/mod-playerbots/pull/870/files
* Update playerbots.conf.dist
set capitals on Random
* Final update on settings documentation
* Update playerbots.conf.dist
* Fix bots loving to do BG's a bit too much
* Final fix bots over-queuing
* pt2 - Limit over-queuing to ~1 instance
Try and prevent over-queuing to a max of 1 instance.
* Add new queue instead of instance if necessary
* Update RandomPlayerbotMgr.cpp
* Final commit
* Update RandomPlayerbotMgr.cpp
* Fix timer
* Updated docu
* Update playerbots.conf.dist
* Update RandomPlayerbotMgr.cpp
Set BgCheckTimer to 45 as it is sufficient.
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* LK 10HC update
Added Shadow trap logic
(if they stand in it, not a big deal since bots wont get yeeted only players will)
When harvest soul, only player will be in another dimension (you must survive)
**Sindy and LK can be done, but I must dissapoint purist, at my skill level I could not achieve to do HC without using summon or other "cheat" bot functions.
Other bosses are all doable now in 10hc
* Update PlayerbotAI.h
* Refactored a number of functions in PlayerbotAI.cpp
* Update PlayerbotAI.cpp
* Update PlayerbotAI.cpp - update for commit done
Take
568592f188
into account.
* Missing check for aurEff
* Update PlayerbotAI.cpp
nvm...
* Update PlayerbotAI.cpp
GetAura
* Update PlayerbotAI.cpp
Simplified/Optimized sPlayerbotAIConfig->dynamicReactDelay logic for in-combat.
* Update PlayerbotAI.cpp
Dubass fix
* Update PlayerbotAI.cpp
Fix bots leaving dungeon group,. again.
* Update PlayerbotAI.cpp
* Update PlayerbotAI.cpp - order correction
...Required for proper pet behavior.
* Update PlayerbotAI.cpp - UpdateAIGroupMembership()
Final refactor of helper function as all now works as required.
* Update PlayerbotAI.cpp
FindItemInInventory
* Update PlayerbotAI.h
Added helper functions, correct public -> private
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* 10HC update until PP
LK defile improved for 10nm (bots sometimes stood 2 close to defile until it grew few times)
Improved rotface for HC
PP remade for 10HC.
Gas cloud is now properly kited
Fixed a rare case of server crash when there were ooze and gas cloud alive at same time.
Bots will move around puddles according to its size now.
Bots that get unboud plague will simply move away from raid and die thus loosing it from raid.
Volatile ooze improved stacking.
Fixed ranged sometimes glitching thru walls when spreading out from other members.
10HC PP is now doable but its hard without summoning (summoning break gascloud and ooze targets so its easier to do). You need to watch boss so you dont phase 2 soon otherwise you will get 2x ooze and cloud which is almoust always a wipe. If abo is not played near perfection bots will struggle with oozes and gas clouds if they are not slowed on time. Always save energy to slow gas cloud since it will wipe the group if it reach its target.
Bots will sometimes stand in puddle, just command them to move and they will figure out what to do.
todo (proper malleable handling)
* Up until Sindy 10HC
BPC added shadow prison handling, bots stop moving if more than 12 stack, tanks more than 18
Improved spreading logic
VDW
fixed issue where bots in portal wold move at half speed compared to real player
* fixed accidental change
* Make summon imp non-temporary
* Remove horse mount from troll
* Set facing to during spell casting
* Allow rpg status command
* Init unarmed skill and fix skill clear
* Cast delay after interrupt spell
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* LK Update
Refined defile logic
Added 3 points for ranged and melee in winter phase (east, west, south when facing throne)
fixed frost spheres targeting (hunter will focus them)
Atm bots will reset z axis if they fall underground or if they get teleported by lk
Better positioning in 1st phase
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* GS fixed bots not returning to their ship for A and H
Bots will return back to ship after killing mage
* PP gas cloud kiting improved
PP gas cloud kiting improved
* BPC targeting fixed
Bots will mark valid prince with skull RTI now
* BQL added melee spread in air pahse
BQL added melee spread
* VDW healing rotation improved
Healers will now use strong heals and hots
* Fixed Necrotic Plague
Fixed issue with Necrotic where it would get dispelled too soon, or would not get dispelled at all
* ICC PP WIP
WIP
* added mutated plague for PP
* BPC added (kinetic and boss targeting need to be done by player)
OT collects dark nucles, bots spread on vortex and other stuff they do ok on their own.
Tested only on 10NM, should work on 25NM
* Tank pos. correction
* BQL, ranged spread, link, flame, bite, tanking tested 10NM
to do (better fire spread, hc tacti, melee spread when in air)
* LDW improved
improved shadow logic, ranged spread for easier shadow handling
* dbs update, fixed teleporting
Bots should only go and teleport to the mage that is actually below zero now
* DBS ranged fix
Ranged should spread more quickly and freak out less
* Festergut && DBS
fixed ranged spread (both)
fixed spore logic (fester)
* Rotface fix
Improved big ooze tanking (static pos, todo kiting)
ooze explosion spread mechanic fix
ooze pool fix
Player needs to mark rotface with skull icon, oterwise bots try to attack oozes
* BQL fixed for 25nm
todo: better melee logic in air phase, better melee flame spread
* VDW, Sister Svalna, Sindy update
Sister Svalna, bots can pickup spears and throw at svalna when she has shield up
VDW added healer strats to use portal and heal boss (atm druids are for raid healing only, so use druide + any other healer, ideally player should be healer)
todo (focus on supressers, add healer rotations, atm they use quickest spell they can)
Sindragosa
Added tank boss manipulation (boss orientation and position)
bots detect (buffet, unchained magic and chilled to the bone and act accordingly)
bots detect frost beacon move to safe spot and los frost bombs around them, while dpsing tombs (todo stop dps if only one tomb is left, if we have frost bombs around, not a big deal atm since in nm they dont one shot)
Last phase bots los behind tomb to loose buffet, tanks swap when they have hi buffet count.
Player should tell bots with skull rti if they should kill tomb or focus boss.
todo (dynamic tomb los in last phase so that healers can see tank but also hide behind tomb to break los from boss)
Removed some debug messages, improved LM spike action (nearest bots also try to help kill it)
Improved Lady Deathwshiper shade action (only targeted bots will run away instead of every bot that is near it)
dbs improved tank switch
I recommend to use 3 healers (just to be safe) and 2 paladin tanks (warr seems to struggle with agro) in 10 man
25 man 6-7 healers (just to be safe) Since most of the bosses are about survival and not dps
* LK Update (doable)
LK added
Improved tank switching for all bosses
Fixed PP gas cloud kiting
Malleable goo todo (dont know how to detect it since its not object or npc) just summon ranged bots to safe position to bypass
BPC fixed OT sometimes not tanking kele
kinectic bombs todo (for now player should take care of them)
Sindragosa fixed rare case when she is in air phase but tombs went to last phase position
LK
Bots can handle necrotic
Bots can handle adds
Bots should focus valkyre that actually grabbed someone (if unlucky and player just use attack command and summon bots to you if they are far away from you) if they grab bots you can either summon to make them useless or let bots cc them and do it legit way.
Defile should be watched by player and once it was cast just summon bots to you
Vile spirits for some reason go to the ground and get nuked by bots aoe spells so there is not much to be done
**Player needs to be alive the whole LK fight since you will have to watch out for frost spehers (sometimes bots ignore them), summon bots when defile is up and summon ranged bots if they get stuck near shambling or raging spirits since their aoe will wipe you)
all in all LK is doable both 10 and 25nm, player needs to have knowledge of lk fight and needs to know how to use multibot addon and make macros for eg summoning or commanding groups of bots or individual bots)
Dont forget frost/shadow/nature resist auras in whole ICC since it will help alot
I have done whole icc 10 and 25 with 2 pala tanks, 2/5 heals and rest dps, if you use +1 or +2 heals it should be easier (since I was testing I did close to 0 dmg in fights same with heals)
* fixed changes made by mistake
fix
* Malleable fix (simple spread mechanic)
Malleable mechanic added (simple spread for now)
Gas cloud fixed (Bots sometimes got stuck between puddle and kite location)
* Defile Update
Bots detect and avoid defile (they struggle to find a way back to the boss around it tho, use summon to help them)
Melee bots should be able to stand behind/to the flank of shambling/spirits
* EoE and Naxx Portals
* Added Orb of Naxxramas objects and use GAMEOBJECT_TYPE_GOOBER
* Fixed missing ! in HasEffect(SPELL_EFFECT_TELEPORT_UNITS) check
Commented out old code in case it is needed in the future for edge case portal objects.
* Enraged regen at critial health
* Enraged regen action context
* Enraged regen on critical health trigger
* Enraged regen on critical health trigger
* Added logic for Arms to use Retaliation
* Added logic for Arms to use Retaliation
* Used correct class enums for !players
* Retaliation on medium health
* Removed temp line
* Added check for attacker->GetVictim() != bot
* Adjusted triggers for emergency actions
* Added Shattering Throw logic
* Added Shattering Throw logic
* Added Shattering Throw logic
* Added Shattering Throw logic
* Added Shattering Throw logic
* Added Shattering Throw logic
* Fixed ActionNode for Shattering Throw
* Added debug logging
* More debug logs
* Better debug logs
* Adjusted range on action
* Adjusted priorities
* More logging
* Update WarriorActions.cpp
* Update WarriorActions.h
* Changed trigger name for differentiation
* Updated to new shattering throw trigger name
* Update WarriorTriggers.h with new ST name
* Update ArmsWarriorStrategy.cpp
* Changed priority
* Shattering Throw and Retaliation stance reqs
Battlestance needed for Shattering Throw and Retaliation
* Created isUseful for Shattering Throw
* Created isUseful for Shattering Throw
* GetTarget instead of GetTargetValue
* Changed to GetTarget instead of GetTargetValue
* Commented out Execute function
* Commented out Execute function
* isPossible was failing, created basic isPossible
IsImmuneToSpell was returning true for Shattering Throw
2 DAYS! :(
* isPossible was failing, created basic isPossible
* Added some more isPossible checks
* Update WarriorActions.cpp
* Missing )
* Missing !
* Removed logging
* Removed logging
* Clean up
* Cleanup
* Corrected logic for Rogue's Expose Armor trigger
Logic was checking the Rogue, not the Rogue's target, for Sunder Armor before casting Expose Armor.
* Add logic to separate cat and bear druid buffs
Check for Thick Hide (16929) talent, use regular buffs if found, use new fourth row if not.
* Added cat druid buffs (ArP food, AP flask)
* Update playerbots.conf.dist
* Refined logic for feral druids
* Use rank 3 of Thick Hide and GetActiveSpec
* Update WorldBuffAction.cpp
* Added DK Blood DPS buffs
AP Flask, STR food
* Added logic for DPS Blood DKs
* Fix various formations
* Refactor Formation::GetFollowAngle()
* Update Formations.cpp
* Refactored Formation::GetFollowAngle()
Final refactor of Formation::GetFollowAngle()
- By combining the group member iteration, unnecessary loops are avoided.
- Clearer Structure: The code is more readable, with fewer redundant operations.
- Better Maintainability: Comments and logical grouping make it easier to modify or extend the function in the future.
* Logic order improvement
* Fix bots attacking despite being in a prohibited zone
* Protect pets as well and move logic to not skip IsFriendlyTo
* Fix prohibited typo
* Update AttackAction.cpp
There was existing code to ignore practice targets (anything with Dummy in the name) so I've just added the names of practice targets located in the tournament grounds:
Charge Target
Melee Target
Ranged Target
I considered just using the phrase "Target", but it is too generic and there are 246 creature_template names containing Target.
* prevent autogear on player alt bots
* update chat message to match other message format
* add config option with default set to 1
* replace end of file blank line
* remove extra space
Since they didn't have any sell value you couldn't get a bot to give you a healthstone or conjured food/water. This change allows them to be traded to you without altering any of the other logic for bot trades.
Implemented logic to ensure the strongest weapon is always placed in the main hand for dual-wielding or Titan Grip-capable bots.
When equipping a new weapon, the code now compares the new weapon’s score with the currently equipped main-hand and off-hand weapons.
If the new weapon is the strongest, it goes into the main hand. The previous main-hand weapon may be moved to the off-hand if it is allowed (e.g., not a main-hand-only weapon) and provides a performance improvement.
Titan Grip conditions are accounted for, allowing valid two-handed weapons (2H axes, maces, swords) to be placed in the off-hand as well.
Description of Changes:
Implemented logic to ensure the strongest weapon is always placed in the main hand for dual-wielding or Titan Grip-capable bots.
When equipping a new weapon, the code now compares the new weapon’s score with the currently equipped main-hand and off-hand weapons.
If the new weapon is the strongest, it goes into the main hand. The previous main-hand weapon may be moved to the off-hand if it is allowed (e.g., not a main-hand-only weapon) and provides a performance improvement.
Titan Grip conditions are accounted for, allowing valid two-handed weapons (2H axes, maces, swords) to be placed in the off-hand as well.
OS+2 implemented.
- Kill Vesperon before fight
- Mark Main Tank in raid interface
Offtank still needs a bit of work, and dps needs to stop running around once they're safe. But it's usable currently.
I think this should probably work for OS+1 and OS+0 with no changes but I was more concerned about implementing +2.
OS+2 implemented.
- Kill Vesperon before fight
- Mark Main Tank in raid interface
Offtank still needs a bit of work, and dps needs to stop running around once they're safe. But it's usable currently.
I think this should probably work for OS+1 and OS+0 with no changes but I was more concerned about implementing +2.
Corrected bot output for EQUIP_ERR_NOT_IN_COMBAT which is returned when the bot is in combat and cannot perform the equip action. Bot would previously say "I am not in combat", it will now say "I am in combat"
2024-11-26 08:54:39 +11:00
1120 changed files with 169714 additions and 115552 deletions
`mod-playerbots` is an [AzerothCore](https://www.azerothcore.org/) module that adds player-like bots to a server. The project is based off [IKE3's Playerbots](https://github.com/ike3/mangosbot).
Welcome to the Playerbots Module for AzerothCore, a work in progress project based on the IKE3 Playerbots. These Playerbots utilize actual player data, allowing you to interact with your own alts, form parties, level up characters, and much more.
Features include:
If you encounter any errors or experience crashes, we kindly request that you report them as GitHub issues. Your valuable feedback will help us improve and enhance this project collaboratively.
- The ability to log in alt characters as bots, allowing players to interact with their other characters, form parties, level up, and more
- Random bots that wander through the world, complete quests, and otherwise behave like players, simulating the MMO experience
- Bots capable of running most raids and battlegrounds
- Highly configurable settings to define how bots behave
- Excellent performance, even when running thousands of bots
You can also get more information in our [discord](https://discord.gg/NQm5QShwf9).
We also have a **[Discord server](https://discord.gg/NQm5QShwf9)** where you can discuss the project, ask questions, and get involved in the community!
## Installation
Please note that this module requires specific custom changes to AzerothCore. To ensure compatibility, you must compile it with a custom branch from my fork, which can be found here: [liyunfan1223/azerothcore-wotlk/tree/Playerbot](https://github.com/liyunfan1223/azerothcore-wotlk/tree/Playerbot).
Supported platforms are Ubuntu, Windows, and macOS. Other Linux distributions may work, but may not receive support.
To install this module, please refer to the AzerothCore Wiki for detailed instructions: [AzerothCore Installation Guide](https://www.azerothcore.org/wiki/installation).
**All `mod-playerbots` installations require a custom branch of AzerothCore: [mod-playerbots/azerothcore-wotlk/tree/Playerbot](https://github.com/mod-playerbots/azerothcore-wotlk/tree/Playerbot).** This branch allows the `mod-playerbots` module to build and function. Updates from the upstream are implemented regularly to this branch. Instructions for installing this required branch and this module are provided below.
We've provided a simple method to clone the module:
### Cloning the Repositories
To install both the required branch of AzerothCore and the `mod-playerbots` module from source, run the following:
For more information, refer to the [AzerothCore Installation Guide](https://www.azerothcore.org/wiki/installation) and [Installing a Module](https://www.azerothcore.org/wiki/installing-a-module) pages.
For a quick start and an extensive overview of available addons, commands, and recommended configuration please refer to the [Playerbots Wiki](https://github.com/liyunfan1223/mod-playerbots/wiki).
### Docker Installation
Please be aware that documentation for some newly added commands is currently lacking as the project is still under development.
Docker installations are considered experimental (unofficial with limited support), and previous Docker experience is recommended. To install `mod-playerbots` on Docker, first clone the required branch of AzerothCore and this module:
The module primarily emphasizes the following key features, and we have implemented improvements in these areas:
Afterwards, create a `docker-compose.override.yml` file in the `azerothcore-wotlk` directory. This override file allows for mounting the modules directory to the `ac-worldserver` service which is required for it to run. Put the following inside and save:
- **Bots in World (Random bot):** We have enhanced the behavior of random bots to make them mimic real players more closely, creating a more authentic player server environment.
```yml
services:
ac-worldserver:
volumes:
- ./modules:/azerothcore/modules:ro
```
- **Bots in Raid:** We've empowered bots to conquer challenging raid content by implementing specific strategies for various bosses, making raid encounters more engaging. Additionally, we have enhanced bots' capabilities in various roles such as DPS, healing, and tanking, ensuring they contribute effectively to the success of raid groups.
Additionally, this override file can be used to set custom configuration settings for `ac-worldserver` and any modules you install as environment variables:
- **Bots in Battleground:** Bots are now capable of actively participating in battlegrounds alongside real players, adding depth and excitement to these PvP scenarios.
```yml
services:
ac-worldserver:
environment:
AC_RATE_XP_KILL:"1"
AC_AI_PLAYERBOT_RANDOM_BOT_AUTOLOGIN:"1"
volumes:
- ./modules:/azerothcore/modules:ro
```
- **Interation with Bots:** We have improved the interaction between real players and bots, enabling players to complete quests and level up with multiple characters while collaborating with the botcompanions.
For example, to double the experience gain rate per kill, take the setting `Rate.XP.Kill = 1` from [woldserver.conf](https://github.com/mod-playerbots/azerothcore-wotlk/blob/Playerbot/src/server/apps/worldserver/worldserver.conf.dist), convert it to an environment variable, and change it to the desired setting in the override file to get `AC_RATE_XP_KILL: "2"`. If you wanted to disable random bots from logging in automatically, take the `AiPlayerbot.RandomBotAutologin = 1` setting from [playerbots.conf](https://github.com/mod-playerbots/mod-playerbots/blob/master/conf/playerbots.conf.dist) and do the same to get `AC_AI_PLAYERBOT_RANDOM_BOT_AUTOLOGIN: "0"`. For more information on how to configure Azerothcore, Playerbots, and other module settings as environment variables in Docker Compose, see the "Configuring AzerothCore in Containers" section in the [Install With Docker](https://www.azerothcore.org/wiki/install-with-docker) guide.
- **Player Progression Path:** We have designed an improved progression path for players, complemented by bots, to offer an alternative and engaging gameplay experience.
Before building, consider setting the database password. One way to do this is to create a `.env` file in the root `azerothcore-wotlk` directory using the [template](https://github.com/mod-playerbots/azerothcore-wotlk/blob/Playerbot/conf/dist/env.docker). This file also allows you to set the user and group Docker uses for the services in case you run into any permissions issues, which are the most common cause for Docker installation problems.
- **Stability:** Our efforts have focused on enhancing the overall stability of AzerothCore when using the Playerbots module. These improvements aim to prevent server crashes and ensure a smoother experience for all users.
Use `docker compose up -d --build` to build and run the server. For more information, including how to create an account and taking backups, refer to the [Install With Docker](https://www.azerothcore.org/wiki/install-with-docker) page.
- **Configuration:** We have introduced a range of configurable options to cater to players with varying requirements, allowing for a more personalized experience.
## Documentation
It's essential to note that there is still a significant amount of work to be done as we continue to enhance the project. We welcome everyone to contribute in various ways.
The [Playerbots Wiki](https://github.com/mod-playerbots/mod-playerbots/wiki) contains an extensive overview of AddOns, commands, raids with programmed bot strategies, and recommended performance configurations. Please note that documentation may be incomplete or out-of-date in some sections, and contributions are welcome.
## Addon
Bots are controlled via chat commands. For larger bot groups, this can be cumbersome. Because of this, community members have developed client AddOns to allow controlling bots through the in-game UI. We recommend you check out their projects listed in the [AddOns and Submodules](https://github.com/mod-playerbots/mod-playerbots/wiki/Playerbot-Addons-and-Sub%E2%80%90Modules) page.
For enhanced control over the bots and to simplify command usage, you can also make use of available Playerbots addons:
- [Unbot Addon (zh)](https://github.com/liyunfan1223/unbot-addon) (Chinese version by Liyunfan)
- [Unbot Addon (en)](https://github.com/noisiver/unbot-addon/tree/english) (English version translated by @Revision)
## Contributing
## Frequently Asked Questions
This project is still under development. We encourage anyone to make contributions, anything from pull requests to reporting issues. If you encounter any errors or experience crashes, we encourage you [report them as GitHub issues](https://github.com/mod-playerbots/mod-playerbots/issues/new?template=bug_report.md). Your valuable feedback will help us improve this project collaboratively.
**Bots can't cast spells**
If you make coding contributions, `mod-playerbots` complies with the [C++ Code Standards](https://www.azerothcore.org/wiki/cpp-code-standards) established by AzerothCore. Each Pull Request must include all test scenarios the author performed, along with their results, to demonstrate that the changes were properly verified.
- Please make sure that the necessary English DBC file (enUS) is present.
We recommend joining the [Discord server](https://discord.gg/NQm5QShwf9) to make your contributions to the project easier, as a lot of active support is carried out through this server.
**Compilation error**
- We support for Ubuntu, Windows, and macOS.
- Continuous integration workflows have been established. You can review the build status in [GitHub Actions](https://github.com/liyunfan1223/mod-playerbots/actions).
- If the latest build status fails, please revert to the previous commit. We will address the issue ASAP.
Please click on the "⭐" button to stay up to date and help us gain more visibility on GitHub!
## Acknowledgements
The code for this module is ported from [ZhengPeiRu21/mod-playerbots](https://github.com/ZhengPeiRu21/mod-playerbots) and [celguar/mangosbot-bots](https://github.com/celguar/mangosbot-bots). We extend our gratitude to @ZhengPeiRu21 and @celguar for the continued efforts in maintaining the module.
We also want to express our sincere appreciation to all individuals who have contributed to playerbot development. Your dedication and efforts have been instrumental in shaping this project, and we are thankful for your contributions.
`mod-playerbots` is based on [ZhengPeiRu21/mod-playerbots](https://github.com/ZhengPeiRu21/mod-playerbots) and [celguar/mangosbot-bots](https://github.com/celguar/mangosbot-bots). We extend our gratitude to [@ZhengPeiRu21](https://github.com/ZhengPeiRu21) and [@celguar](https://github.com/celguar) for their continued efforts in maintaining the module.
Also, a thank you to the many contributors who've helped build this project:
<!-- Video example - We can't embed videos on github, only on github.io pages. If you can, make an animated gif of your video instead (but it's not required) -->
1) Simply `git clone` the module under the `modules` directory of your AzerothCore source or copy paste it manually.
2) Import the SQL manually to the right Database (auth, world or characters) or with the `db_assembler.sh` (if `include.sh` provided).
3) Re-run cmake and launch a clean build of AzerothCore.
```
## Edit the module's configuration (optional)
If you need to change the module configuration, go to your server configuration directory (where your `worldserver` or `worldserver.exe` is), copy `my_module.conf.dist` to `my_module.conf` and edit that new file.
## Credits
* [Me](https://github.com/YOUR_GITHUB_NAME) (author of the module): Check out my soundcloud - Join my discord
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кажется, я только что услышал %thunderfury_link"WHERE`id`=349;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кажется, я слышал %thunderfury_link"WHERE`id`=350;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я точно слышал %thunderfury_link"WHERE`id`=351;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Не знаю, но уверен, что слышал %thunderfury_link"WHERE`id`=352;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты только что сказал %thunderfury_link"WHERE`id`=353;
UPDATE`ai_playerbot_texts`SET`text_loc8`="кто-то сказал %thunderfury_link"WHERE`id`=354;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто-то сказал %thunderfury_link?"WHERE`id`=355;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто-то сказал %thunderfury_link"WHERE`id`=356;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%thunderfury_link выходит из шкафа"WHERE`id`=357;
UPDATE`ai_playerbot_texts`SET`text_loc8`="мог бы поклясться, что это был %thunderfury_link, хотя, может, и %thunderfury_link"WHERE`id`=358;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Зачем использовать %thunderfury_link, если %thunderfury_link явно круче"WHERE`id`=359;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Продаю %item_formatted_link за %cost_gold."WHERE`id`=360;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто хочет %item_formatted_link за %cost_gold?"WHERE`id`=361;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кому нужен %item_formatted_link? Всего %cost_gold."WHERE`id`=362;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Всего %cost_gold за %item_formatted_link!"WHERE`id`=363;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Продаю %item_formatted_link за %cost_gold."WHERE`id`=364;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%item_formatted_link твой всего за %cost_gold!"WHERE`id`=365;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Смешная цена %cost_gold за %item_formatted_link!"WHERE`id`=366;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Хочу продать %item_formatted_link за %cost_gold."WHERE`id`=367;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кому нужен %item_formatted_link? Всего %cost_gold."WHERE`id`=368;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кому нужен %item_formatted_link за %cost_gold?"WHERE`id`=369;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%cost_gold за %item_formatted_link. Дешевле, чем на аукционе!"WHERE`id`=370;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%item_formatted_link дорогой, но я бы продал за %cost_gold."WHERE`id`=371;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты нигде не найдешь %item_formatted_link дешевле, чем за %cost_gold!"WHERE`id`=372;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Нужно больше, чем %item_formatted_link!"WHERE`id`=373;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У меня есть %item_formatted_link и нужно еще."WHERE`id`=374;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Есть %item_formatted_link. Кто хочет купить за %cost_gold?"WHERE`id`=375;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто хочет купить %item_formatted_link за %cost_gold?"WHERE`id`=376;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Как насчет %item_formatted_link? За %cost_gold."WHERE`id`=377;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто сказал, что я ублюдок? %item_formatted_link за %cost_gold — хорошая цена."WHERE`id`=378;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Продаю %item_formatted_link? Всего %cost_gold."WHERE`id`=379;
UPDATE`ai_playerbot_texts`SET`text_loc8`="ЛФГ для фарма. Все еще можешь купить %item_formatted_link у меня за %cost_gold."WHERE`id`=380;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Сегодня почти все продал. Еще есть %item_formatted_link за %cost_gold."WHERE`id`=381;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Для чего нужен торговый чат? Конечно, чтобы продавать %item_formatted_link за %cost_gold."WHERE`id`=382;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто перебьет цену %cost_gold за %item_formatted_link?"WHERE`id`=383;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Хочешь прекратить торговый чат? Просто купи %item_formatted_link за %cost_gold!"WHERE`id`=384;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Все спамят в торговом чате. Я тоже — %cost_gold за %item_formatted_link!"WHERE`id`=385;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Есть ли польза от %item_formatted_link? Просто продаю за %cost_gold."WHERE`id`=386;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У меня есть %item_formatted_link, готов продать за %cost_gold."WHERE`id`=387;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Вчера ничего не делал, но получил %item_formatted_link. Продаю за %cost_gold."WHERE`id`=388;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Вчера фармил и получил %item_formatted_link. Кто купит за %cost_gold?"WHERE`id`=389;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Вчера купил %item_formatted_link. Кому нужно за %cost_gold?"WHERE`id`=390;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Кто спрашивал про %item_formatted_link? Цена та же — %cost_gold."WHERE`id`=391;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У меня еще есть %item_formatted_link. Купишь за %cost_gold?"WHERE`id`=392;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Раньше было больше, чем %item_formatted_link. Теперь нужно продать за %cost_gold."WHERE`id`=393;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Хотел бы иметь больше, чем %item_formatted_link. Но можешь купить за %cost_gold."WHERE`id`=394;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Для чего твое золото? Чтобы купить мой %item_formatted_link за %cost_gold."WHERE`id`=395;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Пожалуйста, подкинь немного золота. Можешь купить %item_formatted_link за %cost_gold."WHERE`id`=396;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%cost_gold — хорошая цена за %item_formatted_link?"WHERE`id`=397;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Вчера купил %item_formatted_links, но больше не нужно. Кому за %cost_gold?"WHERE`id`=398;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Собирался выставить %item_formatted_link на аукцион, но можешь купить дешевле сейчас за %cost_gold."WHERE`id`=399;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Зачем, черт возьми, я купил %item_formatted_link? Кому нужно за %cost_gold?"WHERE`id`=400;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У меня есть %quest_links"WHERE`id`=401;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У меня тоже есть %quest_links"WHERE`id`=402;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У меня тоже есть %quest_links, сейчас я в %zone_name"WHERE`id`=403;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, у меня тоже есть %quest_links"WHERE`id`=404;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, у меня тоже есть %quest_links, сейчас я в %zone_name"WHERE`id`=405;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я готов к %quest_links, сейчас я в %zone_name"WHERE`id`=406;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я готов к %quest_links, я %my_role"WHERE`id`=407;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, я готов к %quest_links, сейчас я в %zone_name"WHERE`id`=408;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, я готов к %quest_links, я %my_role"WHERE`id`=409;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Привет, я готов к %quest_links"WHERE`id`=410;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Привет, могу сделать %quest_links с тобой"WHERE`id`=411;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Привет, у меня тоже есть %quest_links"WHERE`id`=412;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Привет %other_name, я готов к %quest_links"WHERE`id`=413;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Привет %other_name, могу сделать %quest_links с тобой"WHERE`id`=414;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Привет %other_name, у меня тоже есть %quest_links"WHERE`id`=415;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Хочешь сгруппироваться для %quest_links?"WHERE`id`=416;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я готов к %quest_links, сейчас я в %zone_name"WHERE`id`=417;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я готов к %quest_links, я %my_role"WHERE`id`=418;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, могу продать тебе %formatted_item_links"WHERE`id`=419;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Могу, возможно, продать %formatted_item_links"WHERE`id`=420;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Думаю, могу продать %formatted_item_links"WHERE`id`=421;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, возможно, могу продать %formatted_item_links"WHERE`id`=422;
UPDATE`ai_playerbot_texts`SET`text_loc8`="%other_name, думаю, могу продать %formatted_item_links"WHERE`id`=423;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Эй, <target>! Угадай, что твоя мама сказала прошлой ночью!"WHERE`id`=592;
UPDATE`ai_playerbot_texts`SET`text_loc8`="<target>, ты такой урод, что даже в обезьяньем борделе с бананами не добился бы успеха!"WHERE`id`=593;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Заткнись, <target>, тебе никогда не стать таким мужчиной, как твоя мать!!"WHERE`id`=594;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Твоя мать была хомяком, а отец пах одуванчиками!!!!"WHERE`id`=595;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я больше не хочу с тобой разговаривать, ты пустоголовый кормовой корытоочиститель!!!"WHERE`id`=596;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я пускаю в твою сторону газы!!!"WHERE`id`=597;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Иди и вскипяти свою задницу, сын смешного человека!!!"WHERE`id`=598;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Что ты собираешься делать, <target>, заставить меня кровоточить? ВПЕРЁД!"WHERE`id`=599;
UPDATE`ai_playerbot_texts`SET`text_loc8`="М-О-О-Н! Это значит агр!"WHERE`id`=600;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты так же полезен, как одноногий на конкурсе пинков."WHERE`id`=601;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Эй, <target>! Перестань клеиться к ним, они не твой тип. Они не надувные."WHERE`id`=602;
UPDATE`ai_playerbot_texts`SET`text_loc8`="<target>, ты настолько не в своей лиге, что играешь в другой вид спорта."WHERE`id`=603;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты сегодня совершил большую ошибку, <target>, ты встал с кровати."WHERE`id`=604;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я хочу попробовать превратиться в лошадь, но мне нужна помощь. Я буду спереди, а ты будь собой."WHERE`id`=605;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Можно я одолжу твоё лицо на пару дней? Моя задница уходит в отпуск...."WHERE`id`=606;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я бы хотел сделать тебе прощальный подарок... Сначала ты сделай свою часть."WHERE`id`=607;
UPDATE`ai_playerbot_texts`SET`text_loc8`="До тебя мы были голодны, теперь мы просто сыты по горло."WHERE`id`=608;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты мне нравишься. Говорят, у меня нет вкуса, но ты мне нравишься."WHERE`id`=609;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Думаю, у тебя комплекс неполноценности, но это нормально, он оправдан."WHERE`id`=610;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Прочь, гнилое создание! Или я вытрясу твои кости из одежды."WHERE`id`=611;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Не могу поверить, что трачу на тебя своё время!"WHERE`id`=612;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Мне нравится, когда меня оскорбляют, значит, можно больше не быть вежливым."WHERE`id`=613;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты, ублюдочный мандрагор, тебе больше подходит быть у меня на шапке, чем ждать у моих пяток!"WHERE`id`=618;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты! Ты кухарка! Ты бродяга! Ты мерзавец! Я пощекочу твою катастрофу!"WHERE`id`=619;
UPDATE`ai_playerbot_texts`SET`text_loc8`="О, <target>! Ты заразная, плохо воспитанная льняная девка!"WHERE`id`=620;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Мы протекаем в твоей трубе, <target>!"WHERE`id`=621;
UPDATE`ai_playerbot_texts`SET`text_loc8`="О, ты бесполезный болотный цветок!"WHERE`id`=622;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Если бы я был как ты, я бы выбросил себя!"WHERE`id`=623;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Научи меня, <target>, как забыть думать!"WHERE`id`=624;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Истинно, ты проклят, как плохо прожаренное яйцо, с одной стороны!"WHERE`id`=625;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты голодающий, ты кожа-угря, ты сушёный бычий язык, ты бычий член, ты треска — о, чтобы хватило дыхания сказать, что ты такое!! — ты портновский ярд, ты ножны, ты футляр для лука, ты мерзкий стоячий клинок!"WHERE`id`=626;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Фу! Брось себя в гнилую пасть Смерти!"WHERE`id`=627;
UPDATE`ai_playerbot_texts`SET`text_loc8`="<target>, ты торговец рыбой!"WHERE`id`=628;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я доживу, чтобы выбить тебе мозги!"WHERE`id`=629;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты очень поверхностен, <target>!! Ты корм для червей по сравнению с хорошим куском мяса!!"WHERE`id`=630;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Подлый негодяй! О, <target>, ты зловонный, ненавистный к свиньям орех!"WHERE`id`=631;
UPDATE`ai_playerbot_texts`SET`text_loc8`="<target>! Твой поцелуй так же утешителен, как замёрзшая вода для голодной змеи!"WHERE`id`=632;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я презираю тебя, паршивый спутник. Что, ты бедный, низкий, мошеннический, безрубашечный приятель! Прочь, ты плесневелый негодяй, прочь!"WHERE`id`=633;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Прочь с глаз моих! Ты заражаешь мои глаза, <target>!"WHERE`id`=634;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Никто не пройдёт!"WHERE`id`=636;
UPDATE`ai_playerbot_texts`SET`text_loc8`="На нас напали! Вперёд, вы негодяи! Отразите захватчиков!"WHERE`id`=637;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Никто не может бросить вызов Братству!"WHERE`id`=638;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Дураки... Убейте того, кто в платье!"WHERE`id`=639;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я отдам твою душу самому Хаккару!"WHERE`id`=640;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Гордость предвещает конец вашего мира! Идите, смертные! Столкнитесь с гневом !"WHERE`id`=641;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Все мои планы привели к этому!"WHERE`id`=642;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ах! Еще ягнята на заклание!"WHERE`id`=643;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Еще один день, еще одна славная битва!"WHERE`id`=644;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Итак, дело... или удовольствие?"WHERE`id`=645;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Вы не готовы!"WHERE`id`=646;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Финальное завоевание началось! Снова подчинение этого мира в наших руках. Пусть никто не выживет!"WHERE`id`=647;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ваша смерть будет болезненной."WHERE`id`=648;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Просите о милости! Ваши бессмысленные жизни скоро будут потеряны."WHERE`id`=649;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Оставьте все надежды! вернулся, чтобы завершить то, что было начато много лет назад. На этот раз не будет побега!"WHERE`id`=650;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Внимание! Вы помечены для уничтожения!"WHERE`id`=651;
UPDATE`ai_playerbot_texts`SET`text_loc8`=" предназначена только для гостей..."WHERE`id`=652;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ха-ха-ха! Вы безнадежно не на уровне!"WHERE`id`=653;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я хищник! Ты жертва..."WHERE`id`=665;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты уйдешь в кусках!"WHERE`id`=666;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Смерть приходит. Будет ли твоя совесть чиста?"WHERE`id`=667;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ваше поведение не будет терпимо."WHERE`id`=668;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Менажерия предназначена только для гостей."WHERE`id`=669;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Хмм, незваные гости, нужно подготовиться..."WHERE`id`=670;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Обнаружены враждебные сущности. Протокол оценки угрозы активирован. Основная цель захвачена. Время до повторной оценки - тридцать секунд."WHERE`id`=671;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Новые игрушки? Для меня? Обещаю, что на этот раз не сломаю их!"WHERE`id`=672;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я готов играть!"WHERE`id`=673;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Шшш... скоро все закончится."WHERE`id`=674;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Ты тоже будешь служить!"WHERE`id`=677;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Скажи мне... скажи мне все! Непослушные секреты! Я вырву секреты из твоей плоти!"WHERE`id`=678;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Приготовьтесь, колокола прозвучали! Укройте своих слабых, молодых и старых! Каждый из вас заплатит окончательную цену! Просите о милости, расплата пришла!"WHERE`id`=679;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Где я, в латунных пуговицах Бонзо?"WHERE`id`=680;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Я больше не могу это терпеть! Король гоблинов! Король гоблинов! Где бы ты ни был! Унеси этого далеко от меня!"WHERE`id`=681;
UPDATE`ai_playerbot_texts`SET`text_loc8`="У вас есть тринадцать часов, чтобы решить лабиринт, прежде чем ваш младший брат станет одним из нас... навсегда."WHERE`id`=682;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Итак, - это кусок торта, да? Ну, давайте посмотрим, как вы справитесь с этим маленьким куском..."WHERE`id`=683;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Отступи, я приму тебя, упрямый, готовый сразиться с кем угодно, я знаю, что ты не прав, и это не то место, где ты должен быть."WHERE`id`=684;
UPDATE`ai_playerbot_texts`SET`text_loc8`="Покажи, что у тебя есть!"WHERE`id`=685;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je vends %category moins cher que l’HV.'WHERE`id`=144;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Qui veut farmer du %category ?'WHERE`id`=145;
UPDATE`ai_playerbot_texts`SET`text_loc2`='On farme du %category ?'WHERE`id`=146;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je cherche un groupe, après ça on fait du %category ?'WHERE`id`=147;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tous les %category sont les bienvenus.'WHERE`id`=148;
UPDATE`ai_playerbot_texts`SET`text_loc2`='J’achète tout ce qui ressemble à du %category.'WHERE`id`=149;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Wow, y’a des gens qui farment encore du %category ?'WHERE`id`=150;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Les %category partent comme des petits pains à l’HV !'WHERE`id`=151;
UPDATE`ai_playerbot_texts`SET`text_loc2`='L’HV brûle à cause des %category !'WHERE`id`=152;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Y’a des %category sur le marché.'WHERE`id`=153;
UPDATE`ai_playerbot_texts`SET`text_loc2`='J\'échangedes%category?' WHERE `id`=154;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ilmefautplusde%category.' WHERE `id`=155;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unaunpeude%categoryàdonner?' WHERE `id`=156;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiveutdu%category?' WHERE `id`=157;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Unpeude%categorys’ilvousplaît?' WHERE `id`=158;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’auraisdûmonterunecompétencepourles%category.' WHERE `id`=159;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jemeursd’envied’avoirdes%category.' WHERE `id`=160;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Lesgenssetuentpourles%category.' WHERE `id`=161;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%category,c’estuneaffaireenor!' WHERE `id`=162;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Toutlemondedevientfoupourles%category!' WHERE `id`=163;
UPDATE `ai_playerbot_texts` SET `text_loc2`='C’estoùlemeilleurspotpourfarmerdes%category?' WHERE `id`=164;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jesuisprêtpourlefarmde%category.' WHERE `id`=165;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Çasevendbienles%category?' WHERE `id`=166;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jevaisgardertousmes%category.Pourmoi.' WHERE `id`=167;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Besoind’ungroupe?Onpourraitfarmdes%categoryensemble.' WHERE `id`=168;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jepenseencoreaux%category.' WHERE `id`=169;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aientenduparlerdes%category...maismonporte-monnaieneveutpas.' WHERE `id`=170;
UPDATE `ai_playerbot_texts` SET `text_loc2`='LFGpour%category' WHERE `id`=171;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Vendre%categoryrendriche?' WHERE `id`=172;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ok.Demainjefarmles%category.' WHERE `id`=173;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Toutlemondeparledes%category.' WHERE `id`=174;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aivuaumoinsdixgarsfarmerdu%category.' WHERE `id`=175;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aitoutvendumes%categoryhier.Maintenantjemangedupainsec!' WHERE `id`=176;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Enviederejoindreuneguildequifarmedu%category.' WHERE `id`=177;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unfarmlaréputation%faction?' WHERE `id`=178;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unpeutm’aiderpour%faction?' WHERE `id`=179;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Onfaitdesquêtespour%faction?' WHERE `id`=180;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%factionestlameilleur' WHERE `id`=181;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ilmemanquejusteuntoutpetitpeupourêtre%rep_levelavec%faction.' WHERE `id`=182;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unest%rep_levelavec%faction?' WHERE `id`=183;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiveutdevenir%rep_levelavec%faction?' WHERE `id`=184;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jeseraijamais%rep_levelavec%faction.' WHERE `id`=185;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unaoubliédemonterlaréputation%faction?' WHERE `id`=186;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jepeuxaideràfarmerlaréputation%faction.' WHERE `id`=187;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Plusonaderéputation,mieuxc’est.Surtoutavec%faction.' WHERE `id`=188;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%faction:ilmefautencore%rndKpourêtre%rep_level.' WHERE `id`=189;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quipeutpartagerdesquêtes%faction?' WHERE `id`=190;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Desdonjonspourlaréputation%faction?' WHERE `id`=191;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Onfarmlaréput%faction?' WHERE `id`=192;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Allons-ypour%faction!' WHERE `id`=193;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jefarmlaréputation%faction.' WHERE `id`=194;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Onfarmepour%faction?' WHERE `id`=195;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Besoind’aidepour%faction.' WHERE `id`=196;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%factionvendquelquechosed’utile?' WHERE `id`=197;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ilexistedesvendeurs%faction?' WHERE `id`=198;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quifarme%faction?' WHERE `id`=199;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelleestlameilleurefaçondefarmer%faction?' WHERE `id`=200;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jedétestefarmerlaréputation%faction.' WHERE `id`=201;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’enaimarrede%faction.' WHERE `id`=202;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Onyvapour%faction?' WHERE `id`=203;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Toutlemondeest%rep_levelavec%faction.Etmoi,jegalèreencore.' WHERE `id`=204;
UPDATE `ai_playerbot_texts` SET `text_loc2`='LFGpourfarmderéputation%faction?' WHERE `id`=205;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unaunbonspotpourlaréputation%faction?' WHERE `id`=206;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Améliorermaréput%faction,çasert?' WHERE `id`=207;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiauraitcruquelaréputation%factionfiniraitparservir...' WHERE `id`=208;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jeveuxêtreexaltéavectouteslesfactions.Encommençantpar%faction.' WHERE `id`=209;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Est-cequeçavautlecoupdemonter%faction?' WHERE `id`=210;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Qu’est-cequimarchelemieuxpour%faction?Lesquêtesoutuerdesmobs?' WHERE `id`=211;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jefarm%factionpourtoi,situmepaies.' WHERE `id`=212;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Farmerlaréputation%faction?Çaprendra3viesaumoins.' WHERE `id`=213;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jetuepour%factiontouslesjours,maisjesuistoujourspas%rep_level.' WHERE `id`=214;
UPDATE `ai_playerbot_texts` SET `text_loc2`='À%my_level,lesdépôtsàl’HVvontbaisser,non?' WHERE `id`=215;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Combienderéputationsexaltéestuas?' WHERE `id`=216;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiveutêtre%my_levelavec%faction?' WHERE `id`=217;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Maguildeafarmélaréputation%factionhier.Sansmoi...' WHERE `id`=218;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Personneneveutm’aider,toutçaparcequejesuis%rep_levelavec%faction.' WHERE `id`=219;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Évitezla%faction.' WHERE `id`=220;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Onsefaitunesoiréeà%zone_name?' WHERE `id`=221;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unchercheun%my_role?' WHERE `id`=222;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%my_rolechercheuneguilde.' WHERE `id`=223;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jecherchedel’or.' WHERE `id`=224;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%my_rolechercheunebonneguilde.' WHERE `id`=225;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aibesoind’unami.' WHERE `id`=226;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’und’autresesentseul?' WHERE `id`=227;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jem’ennuie...' WHERE `id`=228;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quienveut?' WHERE `id`=229;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Allezvienstebattre!' WHERE `id`=230;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Unpetitduelà%zone_name?' WHERE `id`=231;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unfaitquelquechoseici?' WHERE `id`=232;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%zone_name:y’auneâmequiviveici?' WHERE `id`=233;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%zone_name:toutlemondeestenfurtifouquoi?' WHERE `id`=234;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ondiraitquejesuisseulà%zone_name.' WHERE `id`=235;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Rejoins-moià%zone_name.' WHERE `id`=236;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Allez,onfaitdesquêtesà%zone_name!' WHERE `id`=237;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%zone_namec’estLEcoinsympadumomment.' WHERE `id`=238;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’veuxallerà%zone_name.Quelqu’unmesuit?' WHERE `id`=239;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiveutallerà%zone_name?' WHERE `id`=240;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aimepas%zone_name.Oùdoi-jealler?' WHERE `id`=241;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Y’adebonnesquêtesà%zone_name?' WHERE `id`=242;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Onvaoùaprès%zone_name?' WHERE `id`=243;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quitraîneà%zone_name?' WHERE `id`=244;
UPDATE `ai_playerbot_texts` SET `text_loc2`='LFGpour%zone_name.' WHERE `id`=245;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%zone_nameestl’endroitleplusnazedumonde.' WHERE `id`=246;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Attrape-moià%zone_namesitupeux!' WHERE `id`=247;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Direction%zone_name!' WHERE `id`=248;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Enviedequêtesà%zone_name' WHERE `id`=249;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unadesquêtesà%zone_name?' WHERE `id`=250;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Venezà%zone_name!' WHERE `id`=251;
UPDATE `ai_playerbot_texts` SET `text_loc2`='OndiraitquelaHordeadéserté%zone_name...' WHERE `id`=252;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ondiraitquel’Allianceadéserté%zone_name...' WHERE `id`=253;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’enpeuxplusde%zone_name.Quelqu’unmesortdelà?' WHERE `id`=254;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Bonnechance!' WHERE `id`=255;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jeveuxrentrerchezmoi…puispleureraubordduvide' WHERE `id`=256;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unsaitcequ’ilfautpourjouerdoublearme?' WHERE `id`=257;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Saluttoutlemonde!' WHERE `id`=258;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%zone_nameestcosy' WHERE `id`=259;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jemesensbien' WHERE `id`=260;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jen’ignorepaslesgens.Jelestrollejusqu’àcequ’ilsm’ignorent.' WHERE `id`=261;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quepensez-vousdemonbuild?%my_role' WHERE `id`=262;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Heureuxdevoirquelechatnem’apasoublié' WHERE `id`=263;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Commetouteslesarmes,c’estBiSpourchasseur' WHERE `id`=264;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Lebutdujeupourmoi?Solotoutcequibouge.' WHERE `id`=265;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aiJAMAISarnaquépersonne.' WHERE `id`=266;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ah,WorldofWarcraft.Làoùjevienschercherdesconseilsdevie.' WHERE `id`=267;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Y’AQUELQU’UN?!' WHERE `id`=268;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ilesttempsdemefrayerunchemindans%zone_name.' WHERE `id`=269;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%zone_name' WHERE `id`=270;
UPDATE `ai_playerbot_texts` SET `text_loc2`='…fautquej’ailleauxtoilettes.' WHERE `id`=271;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Situlootpastesmobsskinables,tonziziperd1mm.C’estlarègle.' WHERE `id`=272;
UPDATE `ai_playerbot_texts` SET `text_loc2`='NOOOOOOOOOOOOO' WHERE `id`=273;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’AIMELAPATATE' WHERE `id`=274;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ladiscussionestanimée.' WHERE `id`=275;
UPDATE `ai_playerbot_texts` SET `text_loc2`='salut,commentçavalesgens?' WHERE `id`=276;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jeviensdemedéco/reco.' WHERE `id`=277;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Faitesmoinsdebruit,j’suisperdudans%zone_name…' WHERE `id`=278;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unveutboireunverreà%zone_name?hic' WHERE `id`=279;
UPDATE `ai_playerbot_texts` SET `text_loc2`='hahahahaheeeeedirindiringinggggghahahahaheeeeeeeeeeeeee' WHERE `id`=280;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Avant,lesappâtsétaientcrédibles.' WHERE `id`=281;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Peut-êtrequet’asjusteperdutoninnocence.' WHERE `id`=282;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Y’auneguildequiveutcarryun%my_rolefragile?' WHERE `id`=283;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Plusonmonteenniveau,plusl’orcouleàflots' WHERE `id`=284;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Bonjour!' WHERE `id`=285;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Pourquoij’aimalaucul?' WHERE `id`=286;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jepensequel’espritestBiSpourmonterdeniveau.' WHERE `id`=287;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Encoreplussit’estroll.' WHERE `id`=288;
UPDATE `ai_playerbot_texts` SET `text_loc2`='QUELQU’UNPEUTM’INVITER?' WHERE `id`=289;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aibesoindebeaucouuuupdeboissons.' WHERE `id`=290;
UPDATE `ai_playerbot_texts` SET `text_loc2`='P*utaindegnomes…' WHERE `id`=291;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Personnen’aimelesgnomes.' WHERE `id`=292;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Lesgnomesneserventqu’àunechose' WHERE `id`=293;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Bah…' WHERE `id`=294;
UPDATE `ai_playerbot_texts` SET `text_loc2`='…deschampignons.' WHERE `id`=295;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Lespenséesautomatiques,c’estflippant.' WHERE `id`=296;
UPDATE `ai_playerbot_texts` SET `text_loc2`='L’espritestplusmalléablequ’onaimeraitlecroire.' WHERE `id`=297;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Y’adesguildespourleveling?' WHERE `id`=298;
UPDATE `ai_playerbot_texts` SET `text_loc2`='brb' WHERE `id`=299;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Pourquoilaneigeest-elleblanchealorsquelaglaceesttransparente,alorsqu’ellessontfaitesdelamêmechose?' WHERE `id`=300;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Pourquoilacrèmefouettéeestfluffy,maispaslanormale?' WHERE `id`=301;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Pourquoilespiedssententalorsqu’ilsn’ontpasdenez?' WHERE `id`=302;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ondiraitquelaboîteànoobsvientdes’ouvrir.' WHERE `id`=303;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Arrêtezdetrollerlesnouveauxavecvosréponsesàlacon.' WHERE `id`=304;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Y’aduPvPsurceserveur?' WHERE `id`=305;
UPDATE `ai_playerbot_texts` SET `text_loc2`='évidemment...' WHERE `id`=306;
UPDATE `ai_playerbot_texts` SET `text_loc2`='ouf…:)' WHERE `id`=307;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Voussaviezque' WHERE `id`=308;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jenetentepasd’imaginercequeressententlesautrescréatures' WHERE `id`=309;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Oups,mauvaiscanal.' WHERE `id`=310;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Bruh,vousêtesdéchaînésaujourd’hui' WHERE `id`=311;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Justepourquetoutlemondesache:monmessageestpasséici' WHERE `id`=312;
UPDATE `ai_playerbot_texts` SET `text_loc2`='grrrénervéééééé' WHERE `id`=313;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Lefarm,c’estmarrant' WHERE `id`=314;
UPDATE `ai_playerbot_texts` SET `text_loc2`='WoWmegardevif' WHERE `id`=315;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Hé,question:oùonprendlerôlepourplusd’XP?Jesuisà%zone_name.' WHERE `id`=316;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Vousaimezlessaucisses?' WHERE `id`=317;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Invitez-moi.Jepeuxaider.' WHERE `id`=318;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Àvotreavis,quelleclasseestlameilleureenPvP?' WHERE `id`=319;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Oùestcefoutumaîtredecuisineà%zone_name?!' WHERE `id`=320;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Voussavezcequ’ilsepasseà%zone_name?' WHERE `id`=321;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aibesoindecrafterquelquechose' WHERE `id`=322;
UPDATE `ai_playerbot_texts` SET `text_loc2`='C’estquoilèchemes' WHERE `id`=323;
UPDATE `ai_playerbot_texts` SET `text_loc2`='C’estquoisucemes' WHERE `id`=324;
UPDATE `ai_playerbot_texts` SET `text_loc2`='lèchemescouilles' WHERE `id`=325;
UPDATE `ai_playerbot_texts` SET `text_loc2`='sucemescouilles' WHERE `id`=326;
UPDATE `ai_playerbot_texts` SET `text_loc2`='JEMANGEDESFESSES' WHERE `id`=327;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aienviedemefourrer%random_inventory_item_linklàoùlesoleilnebrillepas' WHERE `id`=328;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aienviedetefourrer%random_inventory_item_linklàoùtupenses' WHERE `id`=329;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Darnasses' WHERE `id`=330;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Ondiraitquet’aschopélesyndrômedesucemes' WHERE `id`=331;
UPDATE `ai_playerbot_texts` SET `text_loc2`='cesnoixdanstabouche' WHERE `id`=332;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Sympatonos,frérot' WHERE `id`=333;
UPDATE `ai_playerbot_texts` SET `text_loc2`='ERP?' WHERE `id`=334;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aitoutessayé,maisaufinalc’estl’ERPquiamarché' WHERE `id`=335;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aienviedebatifolerà%zone_name' WHERE `id`=336;
UPDATE `ai_playerbot_texts` SET `text_loc2`='RecherchegnomefemelleavecgorillepourERPsauvageà%zone_name' WHERE `id`=337;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jepeuxcomprendreunidiot,maisungrospervers?' WHERE `id`=338;
UPDATE `ai_playerbot_texts` SET `text_loc2`='AucunGYATenvueà%zone_name' WHERE `id`=339;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jetuetouslesanimauxde%zone_name.DésoléWWF!' WHERE `id`=340;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Heureusementquej’aitroisjambes' WHERE `id`=341;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Soispasvénère,jegooncommeunsigma' WHERE `id`=342;
UPDATE `ai_playerbot_texts` SET `text_loc2`='essayedoigt,maistrou' WHERE `id`=343;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%prefix%random_taken_quest_or_item_link' WHERE `id`=344;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%prefix%random_inventory_item_link' WHERE `id`=345;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%thunderfury_link' WHERE `id`=346;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%thunderfury_link%thunderfury_link' WHERE `id`=347;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%thunderfury_link%thunderfury_link%thunderfury_link' WHERE `id`=348;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jecroisquejeviensd’entendre%thunderfury_link' WHERE `id`=349;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aientendu%thunderfury_link' WHERE `id`=350;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aiclairemententendu%thunderfury_link' WHERE `id`=351;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’suispassûr,maisj’croisavoirentendu%thunderfury_link' WHERE `id`=352;
UPDATE `ai_playerbot_texts` SET `text_loc2`='T’asdit%thunderfury_link' WHERE `id`=353;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unadit%thunderfury_link' WHERE `id`=354;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unaVRAIMENTdit%thunderfury_link' WHERE `id`=355;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unaparléde%thunderfury_link' WHERE `id`=356;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%thunderfury_linksortduplacard,lesgars' WHERE `id`=357;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’auraisjuréquec’étaitun%thunderfury_link…oupeut-êtreun%thunderfury_link' WHERE `id`=358;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Pourquoiutiliser%thunderfury_linkalorsque%thunderfury_linkestbienplusOP' WHERE `id`=359;
UPDATE `ai_playerbot_texts` SET `text_loc2`='WTS%item_formatted_linkpour%cost_gold.' WHERE `id`=360;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiveut%item_formatted_linkpour%cost_gold?' WHERE `id`=361;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unveut%item_formatted_link?Seulement%cost_gold' WHERE `id`=362;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Juste%cost_goldpour%item_formatted_link!' WHERE `id`=363;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jevends%item_formatted_linkpour%cost_gold' WHERE `id`=364;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%item_formatted_linkestàtoipourseulement%cost_gold!' WHERE `id`=365;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Prixridicule:%cost_goldpour%item_formatted_link!' WHERE `id`=366;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Jechercheàvendre%item_formatted_linkpour%cost_gold' WHERE `id`=367;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quiabesoinde%item_formatted_link?Seulement%cost_gold' WHERE `id`=368;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quelqu’unveut%item_formatted_linkpour%cost_gold?' WHERE `id`=369;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%cost_goldpour%item_formatted_link.Moinscherqu’àl’HV!' WHERE `id`=370;
UPDATE `ai_playerbot_texts` SET `text_loc2`='%item_formatted_linkestcher,maisjetelefaisà%cost_gold' WHERE `id`=371;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Tutrouverasjamais%item_formatted_linkmoinscherque%cost_gold!' WHERE `id`=372;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’aibesoindeplusque%item_formatted_link,là!' WHERE `id`=373;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’ai%item_formatted_linketj’enveuxencore' WHERE `id`=374;
UPDATE `ai_playerbot_texts` SET `text_loc2`='J’ai%item_formatted_link.Quil’achètepour%cost_gold?' WHERE `id`=375;
UPDATE `ai_playerbot_texts` SET `text_loc2`='WTB%item_formatted_linkpour%cost_gold,quelqu’un?' WHERE `id`=376;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Et%item_formatted_link?Pour%cost_gold.' WHERE `id`=377;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Quim’atraitéd\'arnaqueur ? %item_formatted_link pour %cost_gold c’est honnête !'WHERE`id`=378;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Hey <target> ! Devine ce que ta mère a dit hier soir !'WHERE`id`=592;
UPDATE`ai_playerbot_texts`SET`text_loc2`='<target>, t’es tellement moche que tu pourrais même pas scorer dans un bordel de singes avec un sac de bananes !'WHERE`id`=593;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tais-toi <target>, tu seras jamais l’homme que ta mère est !!'WHERE`id`=594;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Ta mère était un hamster et ton père sentait la surette !'WHERE`id`=595;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je ne veux plus te parler, espèce de vide-écuelle à bestiaux débiles !!!'WHERE`id`=596;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je pète dans ta direction générale !!!'WHERE`id`=597;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Va faire bouillir ton postérieur, fils d’un imbécile cosmique !!!'WHERE`id`=598;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tu comptes faire quoi <target>, saigner sur moi ? ALLEZ, VIENS !'WHERE`id`=599;
UPDATE`ai_playerbot_texts`SET`text_loc2`='M-O-O-N ! Ça veut dire aggro !'WHERE`id`=600;
UPDATE`ai_playerbot_texts`SET`text_loc2`='T’es aussi utile qu’un unijambiste dans un concours de coups de pied au cul'WHERE`id`=601;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Hey <target> ! Arrête de draguer, c’est pas ton genre. C’est pas gonflable.'WHERE`id`=602;
UPDATE`ai_playerbot_texts`SET`text_loc2`='<target>, t’es tellement hors catégorie que tu joues carrément à un autre sport'WHERE`id`=603;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tu as fait une grosse erreur aujourd’hui <target>… t’es sorti du lit.'WHERE`id`=604;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je veux essayer de me transformer en cheval. Je prends l’avant, et toi… tu restes toi.'WHERE`id`=605;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je peux emprunter ton visage ? Mon cul part en vacances.'WHERE`id`=606;
UPDATE`ai_playerbot_texts`SET`text_loc2`='J’aimerais t’offrir un cadeau de départ… d’abord, fais ta part.'WHERE`id`=607;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Avant que t’arrives, on avait faim. Maintenant on en a juste marre.'WHERE`id`=608;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je t’aime bien. Les gens disent que j’ai mauvais goût, mais je t’aime bien.'WHERE`id`=609;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je pense que t’as un complexe d’infériorité… mais t’inquiète, il est mérité.'WHERE`id`=610;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Arrière, créature pourrie ! Ou je secoue tes os hors de ta tunique !'WHERE`id`=611;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je crois pas que je perds mon temps avec toi… et pourtant !'WHERE`id`=612;
UPDATE`ai_playerbot_texts`SET`text_loc2`='J’adore quand on m’insulte : j’ai plus besoin d’être poli.'WHERE`id`=613;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Espèce de veston de cuir, boutons en cristal, tête nouée, braillard à gerbe, jarretière de puce, langue mielleuse, bourse espagnole !'WHERE`id`=614;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Espèce de pleurnichard, chasseur de chauve-souris, ivrogne de malte !'WHERE`id`=615;
UPDATE`ai_playerbot_texts`SET`text_loc2`='T’es vraiment une idole pour les adorateurs de l’idiotie !'WHERE`id`=616;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Misérable piaf mal dégrossi !'WHERE`id`=617;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Fils de mandragore ! T’es plus utile en plumeau qu’en laquais !'WHERE`id`=618;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Toi ! Gueux ! Cloporte ! Tarlouze ! Je vais chatouiller ta catastrophe !'WHERE`id`=619;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Oh <target> ! Infâme fille de lin mal élevé !'WHERE`id`=620;
UPDATE`ai_playerbot_texts`SET`text_loc2`='On fuit par ta cheminée, <target> !'WHERE`id`=621;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Oh toi, misérable fleur de cancre gorgée de marais !'WHERE`id`=622;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Si j’étais comme toi, je me jetterais à la poubelle.'WHERE`id`=623;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Apprends-moi <target>… à ne plus penser du tout.'WHERE`id`=624;
UPDATE`ai_playerbot_texts`SET`text_loc2`='T’es maudit comme un œuf mal rôti… tout cramé d’un côté.'WHERE`id`=625;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Espèce de gringalet, de peau de hareng, de langue de bœuf séchée, de… souffle… taureau démembré, morceau de corde ! Queue d’épée, boîte à rien, tige de tailleur !'WHERE`id`=626;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Fi ! Qu’on te jette dans la bouche pourrie de la Mort !'WHERE`id`=627;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je vivrai assez pour te défoncer le crâne !'WHERE`id`=629;
UPDATE`ai_playerbot_texts`SET`text_loc2`='T’es aussi profond qu’une flaque ! <target>, t’es bonne pour les vers, pas pour la viande !'WHERE`id`=630;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Vermine ! Ô <target>, espèce de noisette infernale puante !'WHERE`id`=631;
UPDATE`ai_playerbot_texts`SET`text_loc2`='<target> ! Ton baiser est aussi réconfortant qu’un glaçon pour un serpent affamé !'WHERE`id`=632;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je te méprise, compagnon galeux. Quoi, pauvre arnaqueur sans chemise ! Dégage, raclure moisie !'WHERE`id`=633;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Hors de ma vue ! Tu infectes mes yeux <target> !'WHERE`id`=634;
UPDATE`ai_playerbot_texts`SET`text_loc2`='HEURE DE JEU !!!!'WHERE`id`=635;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Personne ne passera !'WHERE`id`=636;
UPDATE`ai_playerbot_texts`SET`text_loc2`='On est attaqués ! Hissez les voiles ! Repoussez les intrus !'WHERE`id`=637;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Personne ne défie la Confrérie !'WHERE`id`=638;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Imbéciles… tuez celui en robe !'WHERE`id`=639;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je vais offrir ton âme à Hakkar lui-même !'WHERE`id`=640;
UPDATE`ai_playerbot_texts`SET`text_loc2`='L’orgueil annonce la fin de ton monde ! Venez, mortels ! Affrontez la colère de la %randomfaction !'WHERE`id`=641;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tous mes plans menaient à CE moment !'WHERE`id`=642;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Ahh ! Encore des agneaux pour l’abattoir !'WHERE`id`=643;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Encore une journée, encore une glorieuse bataille !'WHERE`id`=644;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Alors, affaires… ou plaisir ?'WHERE`id`=645;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Vous n’êtes pas préparés !'WHERE`id`=646;
UPDATE`ai_playerbot_texts`SET`text_loc2`='La conquête finale de la %randomfaction a commencé ! Cette fois, aucun ne survivra !'WHERE`id`=647;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Ta mort sera douloureuse.'WHERE`id`=648;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Implore pitié ! Tes vies inutiles vont être sacrifiées.'WHERE`id`=649;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Abandonne tout espoir ! La %randomfaction est revenue pour finir ce qui a commencé… et cette fois, pas d’échappatoire !'WHERE`id`=650;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Alerte ! Tu es marqué pour l’EXTERMINATION !'WHERE`id`=651;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Le %subzone est réservé aux invités seulement…'WHERE`id`=652;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Ha ha ha ! Tu es totalement dépassé !'WHERE`id`=653;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je vais écraser tes illusions de grandeur !'WHERE`id`=654;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Pardonne-moi, mais tu vas perdre cette partie.'WHERE`id`=655;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Résister ne fait qu’empirer les choses.'WHERE`id`=656;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Vermine ! Sangsues ! Prends mon sang et étouffe-toi avec !'WHERE`id`=657;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Pas encore… PAS ENCORE !'WHERE`id`=658;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Mon sang sera ta perte !'WHERE`id`=659;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Parfait. Maintenant bats-toi contre moi !'WHERE`id`=660;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Allez les gardes ! C’est l’heure de tuer !'WHERE`id`=661;
UPDATE`ai_playerbot_texts`SET`text_loc2`='N’attends pas la mort, viens à moi. Je rendrai ton sacrifice rapide.'WHERE`id`=662;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tu seras mort très bientôt !'WHERE`id`=663;
UPDATE`ai_playerbot_texts`SET`text_loc2`='C’est moi le prédateur ! Toi, la proie...'WHERE`id`=665;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tu vas repartir en morceaux !'WHERE`id`=666;
UPDATE`ai_playerbot_texts`SET`text_loc2`='La mort approche... As-tu la conscience tranquille ?'WHERE`id`=667;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Ton comportement ne sera pas toléré.'WHERE`id`=668;
UPDATE`ai_playerbot_texts`SET`text_loc2`='La Ménagerie est réservée aux invités.'WHERE`id`=669;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Hmm, des visiteurs non annoncés… Il faut se préparer…'WHERE`id`=670;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Entités hostiles détectées. Évaluation de menace en cours. Cible principale verrouillée. Réévaluation dans trente secondes.'WHERE`id`=671;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Des nouveaux jouets ? Pour moi ? Promis, je les casse pas… cette fois !'WHERE`id`=672;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je suis prêt à jouer !'WHERE`id`=673;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Chut… tout sera fini bientôt.'WHERE`id`=674;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Toi aussi, tu serviras !'WHERE`id`=677;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Dis-moi... dis-moi tout ! Tes vilains petits secrets ! Je vais les arracher de ta chair !'WHERE`id`=678;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Préparez-vous, les cloches ont sonné ! Protégez vos faibles, vos jeunes et vos vieux ! Chacun paiera le prix final ! Implorerez-vous pitié ? Le Jugement est arrivé !'WHERE`id`=679;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Mais où suis-je, par les boutons en laiton de Bonzo ?'WHERE`id`=680;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je n’en peux plus ! Roi Gobelin ! Roi Gobelin ! Où que tu sois ! Emporte ce <target> loin de moi !'WHERE`id`=681;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tu as treize heures pour résoudre le labyrinthe... sinon ton petit frère deviendra l’un des nôtres... pour toujours.'WHERE`id`=682;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Alors, le <subzone> c’est du gâteau, hein ? Voyons comment tu gères ce petit bout-là…'WHERE`id`=683;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Recule, j’vais t’affronter. Déterminé, prêt à affronter n’importe qui. J’sais que t’as tort, t’as rien à faire ici !'WHERE`id`=684;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Montre-moi c’que t’as dans le ventre !'WHERE`id`=685;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Jusqu’à la mort !'WHERE`id`=686;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Double lame, pour un rasage net à chaque fois !'WHERE`id`=687;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Allez, viens !'WHERE`id`=688;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tu vas tomber !'WHERE`id`=689;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Piou piou, coup de couteau !'WHERE`id`=690;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Finissons-en vite, le temps c’est du mana.'WHERE`id`=691;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je ne crois pas que tu réalises dans quelle merde tu es.'WHERE`id`=692;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je vais faire honneur à ma famille et à mon royaume !'WHERE`id`=693;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Lumière, donne-moi la force !'WHERE`id`=694;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Mon église, c’est le champ de bataille – l’heure de la messe a sonné !'WHERE`id`=695;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je te tiens en mépris total…'WHERE`id`=696;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Affronte le marteau de la justice !'WHERE`id`=697;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Prouve ta valeur dans l’épreuve des armes, sous la Lumière !'WHERE`id`=698;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Tous doivent tomber devant la puissance de ma cause – tu es le prochain !'WHERE`id`=699;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Prépare-toi à mourir !'WHERE`id`=700;
UPDATE`ai_playerbot_texts`SET`text_loc2`='La bête en moi est bien pire que celle à mes côtés…'WHERE`id`=701;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Admire la puissance de feu d’un chasseur totalement équipé !'WHERE`id`=702;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Soigne-moi ! Vite !'WHERE`id`=703;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Je suis presque mort ! Soignez-moi !'WHERE`id`=704;
UPDATE`ai_playerbot_texts`SET`text_loc2`='Par la Lumière... J\'aioubliémesSymbolesduroi.Onsecontenterade%base_spell!' WHERE `id`=934;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Lanatureestgénéreuse,pasmessacs...plusd\'herbes pour %group_spell. Prenez %base_spell pour l\'instant!' WHERE `id`=935;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Plusdepoudredesarcanes...%group_spellattendra.Jelance%base_spell!' WHERE `id`=936;
UPDATE `ai_playerbot_texts` SET `text_loc2`='Oups,jen\'ai plus de composants pour %group_spell. On fera avec %base_spell !'WHERE`id`=937;
PlayerbotsDatabase.Execute("DELETE FROM playerbots_account_links WHERE (account_id = {} AND linked_account_id = {}) OR (account_id = {} AND linked_account_id = {})",
// Wait for the characters to be deleted before proceeding to dependent deletes
while(CharacterDatabase.QueueSize())
{
std::this_thread::sleep_for(1s);
}
std::this_thread::sleep_for(std::chrono::milliseconds(100));// Extra 100ms fixed delay for safety.
// Clean up orphaned entries in playerbots_guild_tasks
PlayerbotsDatabase.Execute("DELETE FROM playerbots_guild_tasks WHERE owner NOT IN (SELECT guid FROM "+characterDBName+".characters)");
// Clean up orphaned entries in playerbots_db_store
PlayerbotsDatabase.Execute("DELETE FROM playerbots_db_store WHERE guid NOT IN (SELECT guid FROM "+characterDBName+".characters WHERE account IN (SELECT id FROM "+loginDBName+".account WHERE username NOT LIKE '{}%%'))",
// Clean up orphaned records in character-related tables
CharacterDatabase.Execute("DELETE FROM arena_team_member WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM arena_team WHERE arenaTeamId NOT IN (SELECT arenaTeamId FROM arena_team_member)");
CharacterDatabase.Execute("DELETE FROM character_account_data WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_achievement WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_achievement_progress WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_action WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_arena_stats WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_aura WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_entry_point WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_glyphs WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_homebind WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_inventory WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM item_instance WHERE owner_guid NOT IN (SELECT guid FROM characters) AND owner_guid > 0");
// Clean up pet data
CharacterDatabase.Execute("DELETE FROM character_pet WHERE owner NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM pet_aura WHERE guid NOT IN (SELECT id FROM character_pet)");
CharacterDatabase.Execute("DELETE FROM pet_spell WHERE guid NOT IN (SELECT id FROM character_pet)");
CharacterDatabase.Execute("DELETE FROM pet_spell_cooldown WHERE guid NOT IN (SELECT id FROM character_pet)");
// Clean up character data
CharacterDatabase.Execute("DELETE FROM character_queststatus WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_queststatus_rewarded WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_reputation WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_skills WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_social WHERE friend NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_spell WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_spell_cooldown WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM character_talent WHERE guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM corpse WHERE guid NOT IN (SELECT guid FROM characters)");
// Clean up group data
CharacterDatabase.Execute("DELETE FROM `groups` WHERE leaderGuid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM group_member WHERE memberGuid NOT IN (SELECT guid FROM characters)");
// Clean up mail
CharacterDatabase.Execute("DELETE FROM mail WHERE receiver NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM mail_items WHERE receiver NOT IN (SELECT guid FROM characters)");
// Clean up guild data
CharacterDatabase.Execute("DELETE FROM guild WHERE leaderguid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM guild_bank_eventlog WHERE guildid NOT IN (SELECT guildid FROM guild)");
CharacterDatabase.Execute("DELETE FROM guild_member WHERE guildid NOT IN (SELECT guildid FROM guild) OR guid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM guild_rank WHERE guildid NOT IN (SELECT guildid FROM guild)");
// Clean up petition data
CharacterDatabase.Execute("DELETE FROM petition WHERE ownerguid NOT IN (SELECT guid FROM characters)");
CharacterDatabase.Execute("DELETE FROM petition_sign WHERE ownerguid NOT IN (SELECT guid FROM characters) OR playerguid NOT IN (SELECT guid FROM characters)");
// Finally, delete the bot accounts themselves
LOG_INFO("playerbots","Deleting random bot accounts...");
QueryResultresults=LoginDatabase.Query("SELECT id FROM account WHERE username LIKE '{}%%'",
//uint32currentPoints = currentSpec->GetTalentPoints(); //not used, line marked for removal.
if(points>=LeveltoPoints(level))// We have no more points to spend. Better reset and crop
{
CropTalents(level);
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.