## Summary - Adds `public virtual bool Murderer => Kills >= 5` property to `Mobile`, replacing ~30 scattered `Kills >= 5` / `Kills < 5` magic-number checks across the codebase - `BaseCreature` overrides `Murderer` to also return `true` when `AlwaysMurderer` is set - Updates `Corpse` serialization to v15, storing `_murderer` as a `bool` field (migrated from `int Kills >= 5` in earlier versions)
131 lines
No EOL
3 KiB
JSON
Generated
131 lines
No EOL
3 KiB
JSON
Generated
{
|
|
"version": 15,
|
|
"type": "Server.Items.Corpse",
|
|
"properties": [
|
|
{
|
|
"name": "RestoreEquip",
|
|
"type": "System.Collections.Generic.List\u003CServer.Item\u003E",
|
|
"rule": "ListMigrationRule",
|
|
"ruleArguments": [
|
|
"Server.Item",
|
|
"SerializableInterfaceMigrationRule"
|
|
]
|
|
},
|
|
{
|
|
"name": "Flags",
|
|
"type": "Server.Items.CorpseFlag",
|
|
"rule": "EnumMigrationRule"
|
|
},
|
|
{
|
|
"name": "TimeOfDeath",
|
|
"type": "System.DateTime",
|
|
"rule": "PrimitiveTypeMigrationRule",
|
|
"ruleArguments": [
|
|
"DeltaTime"
|
|
]
|
|
},
|
|
{
|
|
"name": "RestoreTable",
|
|
"type": "System.Collections.Generic.Dictionary\u003CServer.Item, Server.Point3D\u003E",
|
|
"rule": "DictionaryMigrationRule",
|
|
"ruleArguments": [
|
|
"Server.Item",
|
|
"SerializableInterfaceMigrationRule",
|
|
"0",
|
|
"Server.Point3D",
|
|
"PrimitiveUOTypeMigrationRule",
|
|
"1",
|
|
"Point3D"
|
|
]
|
|
},
|
|
{
|
|
"name": "DecayTimer",
|
|
"type": "Server.Timer",
|
|
"rule": "TimerMigrationRule",
|
|
"ruleArguments": [
|
|
"@TimerDrift"
|
|
]
|
|
},
|
|
{
|
|
"name": "Looters",
|
|
"type": "System.Collections.Generic.HashSet\u003CServer.Mobile\u003E",
|
|
"rule": "HashSetMigrationRule",
|
|
"ruleArguments": [
|
|
"Server.Mobile",
|
|
"SerializableInterfaceMigrationRule"
|
|
]
|
|
},
|
|
{
|
|
"name": "Killer",
|
|
"type": "Server.Mobile",
|
|
"rule": "SerializableInterfaceMigrationRule"
|
|
},
|
|
{
|
|
"name": "Aggressors",
|
|
"type": "System.Collections.Generic.List\u003CServer.Mobile\u003E",
|
|
"rule": "ListMigrationRule",
|
|
"ruleArguments": [
|
|
"Server.Mobile",
|
|
"SerializableInterfaceMigrationRule"
|
|
]
|
|
},
|
|
{
|
|
"name": "Owner",
|
|
"type": "Server.Mobile",
|
|
"rule": "SerializableInterfaceMigrationRule"
|
|
},
|
|
{
|
|
"name": "CorpseName",
|
|
"type": "string",
|
|
"rule": "PrimitiveTypeMigrationRule",
|
|
"ruleArguments": [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"name": "AccessLevel",
|
|
"type": "Server.AccessLevel",
|
|
"rule": "EnumMigrationRule"
|
|
},
|
|
{
|
|
"name": "Guild",
|
|
"type": "Server.Guilds.Guild",
|
|
"rule": "SerializableInterfaceMigrationRule"
|
|
},
|
|
{
|
|
"name": "Murderer",
|
|
"type": "bool",
|
|
"rule": "PrimitiveTypeMigrationRule",
|
|
"ruleArguments": [
|
|
""
|
|
]
|
|
},
|
|
{
|
|
"name": "EquipItems",
|
|
"type": "System.Collections.Generic.List\u003CServer.Item\u003E",
|
|
"rule": "ListMigrationRule",
|
|
"ruleArguments": [
|
|
"Server.Item",
|
|
"SerializableInterfaceMigrationRule"
|
|
]
|
|
},
|
|
{
|
|
"name": "Hair",
|
|
"type": "Server.VirtualHairInfo",
|
|
"rule": "RawSerializableMigrationRule",
|
|
"ruleArguments": [
|
|
"",
|
|
"@CanBeNull"
|
|
]
|
|
},
|
|
{
|
|
"name": "FacialHair",
|
|
"type": "Server.VirtualHairInfo",
|
|
"rule": "RawSerializableMigrationRule",
|
|
"ruleArguments": [
|
|
"",
|
|
"@CanBeNull"
|
|
]
|
|
}
|
|
]
|
|
} |