Merge branch 'main' into claude/peaceful-visvesvaraya-e0a196
# Conflicts: # docs/ISSUES.md # docs/architecture/retail-divergence-register.md
This commit is contained in:
commit
217a4bad69
329 changed files with 81439 additions and 8499 deletions
|
|
@ -110,7 +110,13 @@ public sealed class WorldSession : IDisposable
|
|||
uint? Priority = null,
|
||||
int? Structure = null,
|
||||
int? MaxStructure = null,
|
||||
float? Workmanship = null);
|
||||
float? Workmanship = null,
|
||||
// L.2g S1 (DEV-6): PhysicsDesc timestamp-block stamps that seed the
|
||||
// per-entity MotionSequenceGate (retail update_times INSTANCE_TS /
|
||||
// MOVEMENT_TS / SERVER_CONTROLLED_MOVE_TS).
|
||||
ushort InstanceSequence = 0,
|
||||
ushort MovementSequence = 0,
|
||||
ushort ServerControlSequence = 0);
|
||||
|
||||
/// <summary>Fires when the session finishes parsing a CreateObject.</summary>
|
||||
public event Action<EntitySpawn>? EntitySpawned;
|
||||
|
|
@ -132,7 +138,11 @@ public sealed class WorldSession : IDisposable
|
|||
/// </summary>
|
||||
public readonly record struct EntityMotionUpdate(
|
||||
uint Guid,
|
||||
CreateObject.ServerMotionState MotionState);
|
||||
CreateObject.ServerMotionState MotionState,
|
||||
ushort InstanceSequence,
|
||||
ushort MovementSequence,
|
||||
ushort ServerControlSequence,
|
||||
bool IsAutonomous);
|
||||
|
||||
/// <summary>
|
||||
/// Fires when the session parses a 0xF74C UpdateMotion game message.
|
||||
|
|
@ -827,7 +837,10 @@ public sealed class WorldSession : IDisposable
|
|||
parsed.Value.Priority,
|
||||
parsed.Value.Structure,
|
||||
parsed.Value.MaxStructure,
|
||||
parsed.Value.Workmanship));
|
||||
parsed.Value.Workmanship,
|
||||
InstanceSequence: parsed.Value.InstanceSequence,
|
||||
MovementSequence: parsed.Value.MovementSequence,
|
||||
ServerControlSequence: parsed.Value.ServerControlSequence));
|
||||
}
|
||||
}
|
||||
else if (op == DeleteObject.Opcode)
|
||||
|
|
@ -864,7 +877,11 @@ public sealed class WorldSession : IDisposable
|
|||
{
|
||||
MotionUpdated?.Invoke(new EntityMotionUpdate(
|
||||
motion.Value.Guid,
|
||||
motion.Value.MotionState));
|
||||
motion.Value.MotionState,
|
||||
motion.Value.InstanceSequence,
|
||||
motion.Value.MovementSequence,
|
||||
motion.Value.ServerControlSequence,
|
||||
motion.Value.IsAutonomous));
|
||||
}
|
||||
}
|
||||
else if (op == UpdatePosition.Opcode)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue