Commit Graph
2706 Commits
Author SHA1 Message Date
luis 05fab8a699 Scripts/FSB: init Arathi Basin BG 2026-07-16 13:45:52 -03:00
luis 2abd6868a3 remove crash 2026-07-16 12:54:27 -03:00
Céfiro_Caecias 7a42c15a8e DB/World: Death Knigth Starting Zone Part 4 2026-07-15 14:18:08 -03:00
Céfiro_Caecias 90b139482e Update worldserver.conf.dist 2026-07-15 11:09:10 -03:00
Céfiro_Caecias 81622d18b4 DB/World: DBErrors 2026-07-15 10:25:46 -03:00
Céfiro_Caecias bde2702f70 Update README.md 2026-07-15 09:25:26 -03:00
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
Céfiro_Caecias 64e7b91c1b DB/World: Orgrimmar Fixes 2026-07-14 16:44:35 -03:00
Céfiro_Caecias 442e9cf8ec DB/World: Death Knigth Starting Zone Part 3 2026-07-14 16:44:05 -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
Céfiro_Caecias 7d9a0141c8 DB/World: Death Knigth Starting Zone Part 2 2026-07-14 15:36:46 -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
Céfiro_Caecias ca011c6cba DB/World: DBErrors 2026-07-14 13:18:31 -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