ModernUO/Projects/UOContent/Migrations/Server.Items.TreasureMapChest.v4.json
Kamron Batman 6cae6db360
feat: convert timers to [DeserializeTimer]; drifting timers become anchored
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>
2026-08-22 17:46:00 -07:00

57 lines
No EOL
1.2 KiB
JSON
Generated

{
"version": 4,
"type": "Server.Items.TreasureMapChest",
"properties": [
{
"name": "Guardians",
"type": "System.Collections.Generic.List\u003CServer.Mobile\u003E",
"rule": "ListMigrationRule",
"ruleArguments": [
"@Tidy",
"@CanBeNull",
"Server.Mobile",
"SerializableInterfaceMigrationRule"
]
},
{
"name": "Temporary",
"type": "bool",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "Owner",
"type": "Server.Mobile",
"rule": "SerializableInterfaceMigrationRule"
},
{
"name": "Level",
"type": "int",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
},
{
"name": "ExpireTimer",
"type": "Server.Timer",
"rule": "TimerMigrationRule",
"ruleArguments": [
"@AnchoredTimer"
]
},
{
"name": "Lifted",
"type": "System.Collections.Generic.HashSet\u003CServer.Item\u003E",
"rule": "HashSetMigrationRule",
"ruleArguments": [
"@Tidy",
"@CanBeNull",
"Server.Item",
"SerializableInterfaceMigrationRule"
]
}
]
}