The 8 drifting timers ([TimerDrift]) change wire format from delta to anchored time, so each class bumps its serialization version with a MigrateFrom that replays the old delta read through the migration schema. The 2 wall-clock timers (Aquarium, FountainOfLife) keep their format via wallClock: true with no bump. Restart methods drop their TimeSpan.MinValue sentinel checks - v4 invokes them only when a timer was actually running at save. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
46 lines
No EOL
904 B
JSON
Generated
46 lines
No EOL
904 B
JSON
Generated
{
|
|
"version": 1,
|
|
"type": "Server.Items.MarkContainer",
|
|
"properties": [
|
|
{
|
|
"name": "AutoLock",
|
|
"type": "bool",
|
|
"rule": "PrimitiveTypeMigrationRule",
|
|
"ruleArguments": [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"name": "RelockTimer",
|
|
"type": "Server.Items.MarkContainer.InternalTimer",
|
|
"rule": "TimerMigrationRule",
|
|
"ruleArguments": [
|
|
"@AnchoredTimer"
|
|
]
|
|
},
|
|
{
|
|
"name": "TargetMap",
|
|
"type": "Server.Map",
|
|
"rule": "PrimitiveUOTypeMigrationRule",
|
|
"ruleArguments": [
|
|
"Map"
|
|
]
|
|
},
|
|
{
|
|
"name": "Target",
|
|
"type": "Server.Point3D",
|
|
"rule": "PrimitiveUOTypeMigrationRule",
|
|
"ruleArguments": [
|
|
"Point3D"
|
|
]
|
|
},
|
|
{
|
|
"name": "Description",
|
|
"type": "string",
|
|
"rule": "PrimitiveTypeMigrationRule",
|
|
"ruleArguments": [
|
|
""
|
|
]
|
|
}
|
|
]
|
|
} |