fix: Adds safety to corpses and cleans up quests (#1685)

### Summary
- Adds some more checks in case a corpse's owner is somehow null. Would like to eventually allow null owner corpses, but more work is needed.
- Cleans up variable unboxing and reassignment in quests. Also flattens quest logic. Still more work needs to be done.
- Codegens more quest items/mobiles.
This commit is contained in:
Kamron Batman 2024-02-18 19:33:08 -08:00 • committed by GitHub
parent 0d5aa1d022
commit e994505ad0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
90 changed files with 2623 additions and 3168 deletions

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Hag.Grizelda"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Hag.HagApprenticeCorpse"
}

View file

@ -0,0 +1,14 @@
{
"version": 0,
"type": "Server.Engines.Quests.Hag.HangoverCure",
"properties": [
{
"name": "Uses",
"type": "int",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
"EncodedInt"
]
}
]
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Hag.MagicFlute"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Hag.MoonfireBrew"
}

View file

@ -0,0 +1,16 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.Cannon",
"properties": [
{
"name": "CannonDirection",
"type": "Server.Engines.Quests.Haven.CannonDirection",
"rule": "EnumMigrationRule"
},
{
"name": "Canoneer",
"type": "Server.Engines.Quests.Haven.MilitiaCanoneer",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.CannonComponent"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.DaemonBloodChest"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.Dryad"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.MansionGuard"
}

View file

@ -0,0 +1,14 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.MilitiaCanoneer",
"properties": [
{
"name": "Active",
"type": "bool",
"rule": "PrimitiveTypeMigrationRule",
"ruleArguments": [
""
]
}
]
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.MilitiaFighter"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.MilitiaFighterCorpse"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.QuestDaemonBlood"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.QuestDaemonBone"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.QuestFertileDirt"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.Schmendrick"
}

View file

@ -0,0 +1,11 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.SchmendrickApprenticeCorpse",
"properties": [
{
"name": "Lantern",
"type": "Server.Items.Lantern",
"rule": "SerializableInterfaceMigrationRule"
}
]
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.SchmendrickScrollOfPower"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.Uzeraan"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.UzeraanTurmoilHorn"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Haven.UzeraanTurmoilTeleporter"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Matriarch.BaseSolenMatriarch"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Matriarch.BlackSolenMatriarch"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Matriarch.RedSolenMatriarch"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Naturalist.Naturalist"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Engines.Quests.Zento.AnsellaGryen"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.Cauldron"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.HagCauldron"
}

View file

@ -0,0 +1,4 @@
{
"version": 0,
"type": "Server.Items.HagStew"
}