Commit Graph
100 Commits
Author SHA1 Message Date
luis 1a859413e2 CMSG_OPEN_MISSION_NPC tested working 2026-07-15 04:34:47 -03:00
luis cae9bfef2d garr mission table opcode 2026-07-15 04:08:00 -03:00
luis b9d11e06ba shadowmoon part 2 2026-07-15 02:11:54 -03:00
luis b895df4a29 shadowmoon valley sniff fix 2026-07-15 01:41:37 -03:00
luis 16e56d3001 spawn de neuvo shadowmoon valley 2026-07-14 19:35:50 -03:00
luis 58f6c7195e CMSG_PERKS_PROGRAM_REQUEST_PENDING_REWARDS 2026-07-14 17:12:30 -03:00
luis 2cd13abaca CURRENCY_TRADERS_TENDER fix 2026-07-14 17:09:24 -03:00
luis 9f41d2fc27 debug 2026-07-14 17:02:16 -03:00
luis 34486da6d6 fix bot issues 2026-07-14 16:33:56 -03:00
luis 8a638a8e5e Scripts/FSB: added bot pet teleport for non hired bots for now used in BG 2026-07-14 16:31:22 -03:00
luis 1b7a4cfcd9 Scripts/FSB: moved code from the main bot ai to dedicated methods 2026-07-14 16:29:37 -03:00
luis b459fb858c misc 2026-07-14 16:22:38 -03:00
luis f62bd72a87 commentator CMSG_COMMENTATOR_START_WARGAME 2026-07-14 16:02:33 -03:00
luis 1f3ee20d48 GET_PLAYER_INFO/COOLDOWNS -> SMSG_COMMENTATOR_PLAYER_INFO
Commentator player statistics for the spectated arena, wire byte-exact per the client
deserializer sub_7FF7290A19D0 / the 152-byte per-player record reader sub_7FF72906EFA0.

- CommentatorPlayerInfo (SMSG) writer: LeadingId, tracked-spell triple, PackedId, count, a
  trailing flag byte, then per player: PackedGuid, faction, specialization, two extra wire
  bytes, kills/deaths (u16), damage done/taken + healing done/taken (u32), solo-shuffle round
  win/loss (u8), and the four tracked-spell/cooldown array counts.
- CommentatorGetPlayerInfo / CommentatorGetPlayerCooldowns (CMSG) readers (the cooldowns
  request carries the player GUID + a {spellID, category} list).
- Handlers (commentator-gated) answer for the arena the session is spectating (the request's
  context fields are opaque offline, but the spectated instance identifies the match
  unambiguously). Scalar stats are filled from the live BattlegroundScore
  (KillingBlows/Deaths/DamageDone/HealingDone) + spec/faction from the player.

The four per-player tracked-spell/cooldown arrays are sent empty (count = 0): their structure
is known but the 44-byte cooldown record's optional-field layout is not confirmed, so we do
not fabricate cooldown timings (empty arrays are byte-exact regardless of array ordering).
This is documented in the dossier as the sole residual. Builds clean.
2026-07-14 15:52:34 -03:00
luis 77a57fd5f7 spectator entry (ENTER/EXIT/SPECTATE + Battleground spectators)
The observable core: a commentator can now enter a live arena as an invisible observer,
follow a player, and leave. Wire from the client serializers (see dossier).

Battleground spectator support:
- Adds a spectator set (Add/Remove/HasSpectator/GetSpectators). Spectators are not
  participants (never in m_Players), so EndBattleground now explicitly ejects them - restoring
  GM state, clearing SpectateTarget + BattlegroundId, and teleporting them to their entry point.

Handlers (RBAC/commentator-gated):
- ENTER_INSTANCE { MapID, InstanceIDLow, InstanceIDHigh, bit }: resolves the arena from
  BattlegroundMgr::GetActiveArenas by instance+map, saves the entry point, sets the
  commentator's BattlegroundId so BattlegroundMap::CannotEnter admits them, becomes an inert
  game-master observer, and teleports into the arena start location.
- EXIT_INSTANCE {}: only acts on a tracked spectator - removes it, clears SpectateTarget,
  drops GM, teleports back to the entry point.
- SPECTATE { string TargetName }: sets the native PlayerData::SpectateTarget UF to the named
  player, but only if they are in the arena being spectated (else clears it).
- New Player::SetSpectateTarget writes the PlayerData::SpectateTarget update field.
2026-07-14 15:46:14 -03:00
luis 3fcf584bd1 feat(commentator): GET_MAP_INFO -> SMSG_COMMENTATOR_MAP_INFO from live arenas
Now that the wire is fully recovered offline (see dossier), this builds the first real
data path: a commentator queries the active-match catalogue and the server answers from
live arena state.

- CommentatorMapInfo (SMSG) writer, byte-exact per the client deserializer sub_7FF7290A1700:
  uint64 DirectoryId, uint32 MapCount, Maps[]{ TeamSize, MinLevel, MaxLevel, uint16 Field3,
  Instances[]{ MapID, {u32,u32,u8}, uint64 InstanceID, Status, Team[2]{ PackedGuid,
  Players[]{ PackedGuid, {u32,u32,u8} } } } }. All fixed-width LE; guids PackedGuid.
- CommentatorGetMapInfo (CMSG) reader: { string TargetPlayer } (6-bit length prefix, matching
  the client serializer - the extractor had mislabelled this as u8).
- BattlegroundMgr::GetActiveArenas(): new accessor enumerating in-progress arena instances
  from bgDataStore.
- HandleCommentatorGetMapInfo (RBAC/commentator-gated): groups active arenas by map into the
  client's map->instances catalogue, filling TeamSize (arena type), min/max level, instanceID,
  status, and each of the 2 teams' players by GUID (+ best-guess spec/faction in the per-player
  triple). Routed STATUS_LOGGEDIN/THREADUNSAFE; SMSG registered STATUS_NEVER (sendable).

The handful of fields with no C_Commentator getter (the opaque u64 blob id, the uint16 map
field, and the {u32,u32,u8} triples) are named FieldN and sent as honest best-guesses/0 - not
fabricated - and documented in the dossier as the only residual sniff items. Builds clean.
2026-07-14 15:40:07 -03:00
luis aa160f5761 Commentator system part 1 2026-07-14 15:16:09 -03:00
luis 9117de2f75 CMSG_CHROMIE_TIME_SELECT_EXPANSION, CMSG_CHANGE_MONUMENT_APPEARANCE 2026-07-14 14:40:27 -03:00
luis f23c769dbf CMSG_BATTLEMASTER_JOIN_SKIRMISH 2026-07-14 14:33:51 -03:00
luis b69a1ca60c CMSG_BATTLEMASTER_JOIN_RATED_SOLO_SHUFFLE 2026-07-14 14:32:51 -03:00
luis df7f27810f CMSG_BATTLEMASTER_JOIN_RATED_BG_BLITZ 2026-07-14 14:31:50 -03:00
luis 462d7c102b CMSG_BATTLEMASTER_JOIN_BRAWL 2026-07-14 14:30:32 -03:00
luis b502398137 CMSG_ACCEPT_SOCIAL_CONTRACT 2026-07-14 14:28:04 -03:00
luis aa6fdf27ca inertia opcodes 2026-07-14 14:12:23 -03:00
luis 8280ec5e84 Core/Misc: Update Emote enum for 12.0.7 2026-07-14 14:02:53 -03:00
luis acaa2c9fc7 crashlogs 2026-07-14 13:48:30 -03:00
luis 3ca733b2d5 fix crashlog generator 2026-07-14 13:11:31 -03:00
luis 0362cae89e fix warnings 2026-07-14 12:18:25 -03:00
luis a9d763744f we dont use deadmines ai 2026-07-14 12:15:53 -03:00
luis 73faab9315 GossipOptionNpc::PerksProgramVendor for test 2026-07-13 19:37:04 -03:00
luis fc661ee500 fix profession craft 2026-07-13 15:33:16 -03:00
luis 74427be3ce db error fix 2026-07-13 14:32:35 -03:00
luis 6a5e76e92f db misc 2026-07-13 14:24:12 -03:00
luis b44f6370bd rework 2026-07-13 11:55:46 -03:00
luis 208baa74c7 merge full bots 2026-07-13 11:48:16 -03:00
luis 8de6874632 typo 2026-07-13 11:46:24 -03:00
luis bf6230c933 Scripts/WSG: bots can now gain scoreboard stat for returned flag and correct notifications 2026-07-13 11:37:09 -03:00
luis 2261eb9e0a https://github.com/stevebone/StefalWoW/commit/792ed881f2f904bb9be8c51c039a5752576aa75f 2026-07-13 11:25:07 -03:00
luis e371093c3c Scripts/WSG: one more include 2026-07-13 10:23:52 -03:00
luis dd1392cc92 Scripts/WSG: removed debug logging 2026-07-13 10:22:51 -03:00
luis 4a0c021b2e DB/FSB: Misc fixess 2026-07-13 10:19:50 -03:00
luis f4b866650a Scripts/FSB: improve combat for bots in BG and fix unknown frame in BG raid 2026-07-13 10:16:49 -03:00
luis d213068f7d Scripts/FSB: Removed dependency on FSB in the native wsg script. 2026-07-13 10:10:23 -03:00
luis 6acac6243b Scripts/FSB: implement DB table for bot spells (first use case is buffs) 2026-07-13 09:54:36 -03:00
luis 4be40a5248 perk program fix 2026-07-13 09:49:58 -03:00
luis 6da2d25856 Traits: implement CMSG_CONFIRM_PROFESSION_RESPEC (profession specialization respec) 2026-07-13 09:09:04 -03:00
luis 235de2717f Commander Springvale 2026-07-13 09:03:16 -03:00
luis 82faef140a 2 shadowfang keep boss 2026-07-12 20:30:17 -03:00
luis 1afcddf1aa pvp 2026-07-12 17:01:19 -03:00
luis 1bbec225c1 CMSG_REQUEST_CROWD_CONTROL_SPELL SMSG_ARENA_CROWD_CONTROL_SPELL_RESULT 2026-07-12 16:40:16 -03:00
luis ad2484df83 sort 2026-07-12 15:59:15 -03:00
luis d7adb370d1 enable packets 2026-07-11 23:02:56 -03:00
luis f20160ea09 Update Followship_bots_npc_chat_manager.cpp 2026-07-11 22:55:54 -03:00
luis 154d9f529c Update Followship_bots_warsong_gulch.cpp 2026-07-11 22:54:31 -03:00
luis fdf9a4e5a9 Covenant: wire CMSG_COVENANT_RENOWN_REQUEST_CATCHUP_STATE 2026-07-11 21:16:28 -03:00
luis c783f374da CraftingOrders: wire CMSG_CRAFTING_ORDER_UPDATE_IGNORE_LIST 2026-07-11 19:24:03 -03:00
luis 12c8650340 CraftingOrders P5: wire NPC (patron) work-order query opcodes 2026-07-11 17:20:50 -03:00
luis 171c5621e0 Scripts/FSB: fixed 2 bugs
- fixed/workaround for bots despawning under the map at the alliance flag
- bots re-rolling defend mid from attackflag would pick the wrong exit path...
2026-07-11 17:07:51 -03:00
luis f748b84a93 Update Followship_bots_party_handler.cpp 2026-07-11 03:22:06 -03:00
luis 182af3e9c8 Scripts/FSB: implement a BG WSG combat manager since we need to take into account the flag states. 2026-07-11 03:21:12 -03:00
luis 6bf6ea7d4c fix db error 2026-07-11 02:58:02 -03:00
luis b764870232 missing del 2026-07-11 02:54:04 -03:00
luis c7dbb4205b voidstorm 2026-07-11 02:34:34 -03:00
luis fa4b7958b2 db errors 2026-07-11 02:05:19 -03:00
luis 98d9d82b82 typo 2026-07-11 01:59:02 -03:00
luis 60a244ac04 db error 2026-07-11 01:19:21 -03:00
luis 3725512563 debug wrong log 2026-07-11 00:26:59 -03:00
luis b58c3454d2 ragefire chasm and wailing caverns full 2026-07-10 23:37:22 -03:00
luis 2f03ca5eb6 enable in game shop 2026-07-10 22:17:59 -03:00
luis 0f2a9ac5bc bpay system, missing opcodes and sniffs 2026-07-10 22:01:57 -03:00
luis a899ef4531 roll loot system 2026-07-10 21:20:59 -03:00
luis 2ae478902e CMSG_REPORT_STUCK_IN_COMBAT, CMSG_GOSSIP_REFRESH_OPTIONS 2026-07-10 21:08:38 -03:00
luis e94e6baf07 enable server opcodes with struct 2026-07-10 20:40:18 -03:00
luis a381adce04 enable all gossips 2026-07-10 20:00:15 -03:00
luis f6c89eb421 fix GarrisonTradeskillNpc 2026-07-10 19:55:58 -03:00
luis 3b6540d81f Server/LFGList: fix Premade Group create (echo listing descriptor verbatim) 2026-07-10 19:29:17 -03:00
luis 0cead4fd3c wetlands init 2026-07-10 19:04:12 -03:00
luis 3cd3ab4cd6 EffectTradeSkill 2026-07-10 18:12:11 -03:00
luis 5c7f47772b merge 2026-07-10 17:31:03 -03:00
luis 943e403aec Core/Misc: Update QuestSort enum for 12.0.7 2026-07-10 17:21:04 -03:00
luis a00fa5f33d sniff data 2026-07-10 17:18:58 -03:00
luis f9824cb0b7 SMART_ACTION_SET_OWNER 2026-07-10 15:06:35 -03:00
luis 256aa9ceec SMART_ACTION_RESPAWN_TARGET 2026-07-10 14:54:57 -03:00
luis 09b6b5c304 SMART_ACTION_SET_CURRENT_AREA_WORLDSTATE full 2026-07-10 14:44:06 -03:00
luis 07eb621ec5 enable opcodes for ui 2026-07-10 14:09:37 -03:00
luis fc4283fa4a Implement mythic plus data 2026-07-10 13:47:20 -03:00
luis 3af8c5e7a2 remove dup 2026-07-10 13:40:16 -03:00
luis 960581d08d world quest system 2026-07-10 13:38:24 -03:00
luis 8313820765 fix db2 locales load 2026-07-10 12:39:20 -03:00
luis bc20f75bbe SMART_EVENT_QUEST_ABANDON and misc opcodes 2026-07-10 12:31:14 -03:00
luis d276e219cc opcodes 2026-07-10 12:15:55 -03:00
luis d7666986ef hand of guldan 2026-07-10 12:15:38 -03:00
luis 0c03bcace4 misc opcodes 2026-07-10 12:04:28 -03:00
luis 79de9baa3b 68453 2026-07-10 11:27:22 -03:00
luis 9c62e0d744 Updated packets using sniff 2026-07-10 11:25:53 -03:00
luis 294d375ddc scenario packets 2026-07-09 20:49:03 -03:00
luis 3ef990e4d4 SMSG_MULTI_FLOOR_LEAVE_FLOOR , SMSG_MULTI_FLOOR_NEW_FLOOR 2026-07-09 17:38:23 -03:00
luis b4e62d7873 sniffs 2026-07-09 04:07:56 -03:00
luis 726641c5b1 new codestyle 2026-07-09 03:06:16 -03:00
luis f2f3f193fa warlock spell and enable garrison opcodes 2026-07-09 02:01:29 -03:00