What's new
  • NEW: Happy Cataclysm gaming! The fresh 4.3.4 Cataclysm Repack V20.0 is now live - and downloadable from our brand-new Emucoach App.
    Download it now
  • Mists of Pandaria is calling! Heya - did you know that the newest 5.4.8 MoP Repack - version 7.1 - is now live?
    Download now

Copilotbuddy, a bot for WotLK 3.3.5a RELEASED

UPDATE 18
=========================

Bug fixes - Pathing / Navigation:
--------------

* The pathfinder streams tiles as the search advances (Navigation C++
commit 6ba680f, Detour/DetourNavMeshQuery.h and .cpp, MoveMap.cpp,
Navigation.cpp). This is HB 6.2.3's dtNavMeshQuery::setTileLoader,
ported: the A* calls back into the tile manager when it reaches the
edge of a loaded tile, and the neighbour is loaded mid-search.
Before, only a 3x3 block around the start and around the destination
was preloaded, so the search ran out of navmesh and Detour returned
the best partial path it had — a straight line at the goal. Any trip
beyond roughly 800 yards ended with the bot walking into a mountain.
Cross-continent routes now resolve. This one is in the DLL.

* Closed doors are detected from WoWGameObjectState instead of
WoWDoor.IsClosed (commit e37e92c, Styx/Logic/Pathing/
MeshNavigator.cs). GameObjectDataSlot.Opens reads Properties[2],
which on a door holds autoCloseTime, not an open/closed flag. A door
without one read as permanently closed, so the bot stood in front of
open doors spamming interact.

* CanUse and CanUseNow go through the sub-object vtable call the
client exposes (commit 59e6de1, Styx/WoWInternals/WoWObjects/
WoWGameObject.cs). The old stub answered !Locked && !InUse and never
asked the game, so it could not tell a usable door from one the
server refuses.

* The door handler is gated on both, like HB method_8 (commit 8a5fcad).
In Blackrock Depths the bot used to walk up to the Ring of Law arena
gates — which no player can open, an NPC opens them — and spam
interact there while the pack behind beat on it. Scripted gates are
still let through.

* Undercity: the bot takes the lift instead of running at a door 58
yards away (commit 76288d8). The blacklist targeted the middle
Undervator object rather than the elevator doors.

* Swimming keeps the real target depth instead of projecting it onto
the player's Z (commit 892665f). Dive off-mesh links were
unreachable because the destination was flattened to the surface.

* Stuck detection measures the current movement speed rather than the
maximum run speed (commit 5a54966, StuckHandler). A standing bot was
compared against the speed it would have had while running, so it
was declared stuck every tick.


Bug fixes - DungeonBuddy:
--------------

* The tank posts a Hotspot BotPoi and yields, like HB 4.3.4
(commit 6056bbd, Bots/DungeonBuddy/Helpers/ScriptHelpers.cs).
MoveTankTo used to drive the movement itself, so the tank walked
straight through packs without ever stopping to fight, and died.

* Multi-wing instances resolve when you enter on foot instead of
through the LFG queue (commit aff5ae9, Profiles/ProfileManager.cs).
GetLfgDungeonIdFromMapId used a difficulty tie-break that emptied
the candidate list whenever GetCurrentMapDungeonLevel returned 0,
and no dungeon was ever resolved — an exception every tick in
Blackrock Depths, Scarlet Monastery, Dire Maul and Maraudon.

* The bot no longer targets mobs behind a closed door (commit d499df0).
Reachability was tested with the spell trace, which ignores doors.
It now uses the character line of sight.

* ScriptHelpers.IsEmpty reads the target list the way HB 5.4.8 does
(commit 7742582). Testing FirstUnit reported the list as empty
whenever the first object in it was not a unit.

* Solo farm stopped rewriting its activity text every tick (commit
35537d0). It fought the parent label HB sets and filled a third of
the log.


Bug fixes - Items and auto-equip:
--------------

* Item stats are read through the client's own CGItemStats_C
(commit c2177b2, Styx/WoWInternals/WoWObjects/WoWItem.cs and
ItemStats.cs). The direct ITEM_MOD cast was off by eleven slots:
Strength, Agility and Intellect were scored as resistances, Stamina
as attack power, and hit, crit and haste as nothing at all. Ranking
came down to armor and weapon DPS. The item-link path returned only
DPS and no stats at all; it now goes through the same client call,
so quest rewards and loot rolls are judged on real values.


Bug fixes - GatherBuddy:
--------------

* NoNinja works on ground routes (commit ed15eea). It tested
MountHelper.Mounted, which is the flying check, so on a ground mount
it never fired. It now counts the raw mount flag as well, and is
back on HB method_14's 10 yard radius and log line.


Singular wotlk:
--------------

* Warrior: Charge is throttled and its no-path failure recorded, as in
Singular 5.4.8 (commit b4782b7). Retrying Charge every tick starved
every movement behavior below it in the tree.


Dungeon Scripts:
--------------

* Blackfathom Deeps: the brazier handler is the 5.4.8 port, with its
target filter (commit 25566fc). The Locked flag never flips on a
3.3.5a server, so the bot relit the same brazier forever.

* Blackrock Depths, Detention Block: entrance point moved two yards
(commit 7aba58b).


Meshes and extractor:
--------------

These require regenerating your movemaps.

* Fixed: a single-tile rebuild destroyed the whole map. The extractor
rewrote the .mmap header at the end of the run with the number of
tiles it had just built, so "rebuild one tile of Kalimdor" left
001.mmap declaring maxTiles = 16 instead of 15808. dtNavMesh::init
then sized the tile pool for one ADT, the first tile loaded and
every other addTile failed with DT_OUT_OF_MEMORY. Symptom: the
pathfinder could not generate a path anywhere on that map, even
between two points sixty yards apart. If your Kalimdor stopped
pathing entirely, this was it.

* GameObject collision: the whitelist goes from 13 DisplayIds to 45.
Added are the Orgrimmar shop signs, the Mighty Blaze and bonfire
braziers, freestanding and wall torches, anvils, forges, cooking
tables, meat racks, and Collision PC Size — the invisible blocker
Blizzard places to seal off areas, 1473 spawns world-wide and
completely absent from the navmesh until now.

* The spawn table no longer filters by GameObject type. The whole
SPELL_FOCUS family — braziers, bonfires, forges, anvils — was
dropped before the whitelist ever saw it, which is why only 3 of
the 93 Orgrimmar braziers had collision. 87464 -> 94678 spawn rows.

* Blackfathom Deeps: off-mesh link for the outside entrance at
Zoram'gar, Kalimdor tile 30,24 (extractor commit 3e8b8aa).

* Server side only, no effect on the bot: vmaps/temp_gameobject_models
was written with three fields where mangos reads five. The server
reader desynchronised on the second record, so a mangos server built
on these vmaps had no GameObject collision for line of sight at all.

Navigation C++ (wrapper):
--------------

* Three commits, one of substance: the tile loader above
(6ba680f). The other two only touch comments (2dffe20,
3b3cd9a) and change nothing in the binary. Ship the DLL built
on 28 August with this update — the streaming loader lives in
it, not in the bot, and the Update 17 bundle predates it.

MeshViewer3D (navmesh / world viewer):
--------------

* No commits since b2fa6da, which Update 17 reported. Unchanged.

Version numbering:
--------------

Previous: v1.6.5 (Update 17).
This release: v1.6.6.
The tile format is unchanged, so movemaps generated for Update
17 keep loading and nothing breaks if you skip the meshes. Two
package still has to ship the Navigation.dll from 28 August: the
streaming pathfinder lives in the DLL, and the one bundled with
Update 17 predates it. The movemaps are optional, they only add
the GameObject collision.
 
Back
Top