feat(hs): disable wings in-event + periodic HUD-state packet/broadcast
- HeykelSavasiContext.IsItemAllowedToEquip disallows wings/capes during Playing only (so entry is never rejected for wearing wings); auto-unequips any equipped wing/cape into a free inventory slot in OnGameStartAsync. - New S2C packet HeykelSavasiHudState (C1, code FB, length 11) carrying phase, team, counts, statue progress and remaining seconds, plus its view plugin/interface, broadcast once per second across registration/prep/ battle and one-shot on join/statue-break/game-end.
This commit is contained in:
24
docs/Packets/C1-FB-HeykelSavasiHudState_by-server.md
Normal file
24
docs/Packets/C1-FB-HeykelSavasiHudState_by-server.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# C1 FB - HeykelSavasiHudState (by server)
|
||||
|
||||
## Is sent when
|
||||
|
||||
Periodically (about once per second) while the Heykel Savasi (Statue War) event is open for registration, in its pre-battle countdown, or being played.
|
||||
|
||||
## Causes the following actions on the client side
|
||||
|
||||
The client updates its Heykel Savasi HUD panel (team counts, statue progress, and remaining time).
|
||||
|
||||
## Structure
|
||||
|
||||
| Index | Length | Data Type | Value | Description |
|
||||
|-------|--------|-----------|-------|-------------|
|
||||
| 0 | 1 | Byte | 0xC1 | [Packet type](PacketTypes.md) |
|
||||
| 1 | 1 | Byte | 11 | Packet header - length of the packet |
|
||||
| 2 | 1 | Byte | 0xFB | Packet header - packet type identifier |
|
||||
| 3 | 1 | Byte | | Phase; 0 = registration open, 1 = preparation countdown, 2 = battle, 3 = ended. |
|
||||
| 4 | 1 | Byte | | MyTeam; 0 = none, 1 = red, 2 = blue. |
|
||||
| 5 | 1 | Byte | | RedCount |
|
||||
| 6 | 1 | Byte | | BlueCount |
|
||||
| 7 | 1 | Byte | | RedProgress; The number (0-7) of statues the red team has destroyed of the blue team's line. |
|
||||
| 8 | 1 | Byte | | BlueProgress; The number (0-7) of statues the blue team has destroyed of the red team's line. |
|
||||
| 9 | 2 | ShortBigEndian | | RemainingSeconds; The number of seconds left in the current phase. |
|
||||
@@ -242,3 +242,4 @@
|
||||
* [C2 F6 1B - QuestStateExtended (by server)](C2-F6-1B-QuestStateExtended_by-server.md)
|
||||
* [C3 F9 01 - OpenNpcDialog (by server)](C3-F9-01-OpenNpcDialog_by-server.md)
|
||||
* [C1 FA - HeykelSavasiOpenTeamPanel (by server)](C1-FA-HeykelSavasiOpenTeamPanel_by-server.md)
|
||||
* [C1 FB - HeykelSavasiHudState (by server)](C1-FB-HeykelSavasiHudState_by-server.md)
|
||||
|
||||
Reference in New Issue
Block a user