weatherfactory / cultistsimulator-visible

Read-only preview builds of Cultist Simulator for the convenience of modders and the curious.
https://weatherfactory.biz/cultist-simulator/
36 stars 6 forks source link

Gently exotic borked save #221

Closed alexiskennedy closed 1 year ago

alexiskennedy commented 1 year ago

Save is borked in an interesting way. Player.log included. Can you diagnose?

hs7128.zip

Chelnoque commented 1 year ago

Saw similar before.

                           "Mutations": {
                              "$type": "System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Int32, mscorlib]], mscorlib",
                              "{\r\n  \"$type\": \"TokenCreationCommand\",\r\n  \"Location\": {\r\n    \"$type\": \"SecretHistories.UI.TokenLocation, SecretHistories.Main\",\r\n    \"Anchored3DPosition\": {\r\n      \"$type\": \"UnityEngine.Vector3, UnityEngine.CoreModule\",\r\n      \"x\": 0.0,\r\n      \"y\": 0.0,\r\n      \"z\": 0.0,\r\n      \"magnitude\": 0.0,\r\n      \"sqrMagnitude\": 0.0\r\n    },\r\n    \"AtSpherePath\": {\r\n      \"$type\": \"SecretHistories.Fucine.FucinePath, SecretHistories.Main\",\r\n      \"Path\": \"~/situationsmalleary\"\r\n    }\r\n  },\r\n  \"HomeLocation\": {\r\n    \"$type\": \"SecretHistories.UI.TokenLocation, SecretHistories.Main\",\r\n    \"Anchored3DPosition\": {\r\n      \"$type\": \"UnityEngine.Vector3, UnityEngine.CoreModule\",\r\n      \"x\": 1050.0,\r\n      \"y\": 115.0,\r\n      \"z\": 0.0,\r\n      \"normalized\": {\r\n        \"$type\": \"UnityEngine.Vector3, UnityEngine.CoreModule\",\r\n        \"x\": 0.994055748,\r\n        \"y\": 0.108872771,\r\n        \"z\": 0.0,\r\n        \"magnitude\": 1.0,\r\n        \"sqrMagnitude\": 1.00000012\r\n      },\r\n      \"magnitude\": 1056.27881,\r\n      \"sqrMagnitude\": 1115725.0\r\n    },\r\n    \"AtSpherePath\": {\r\n      \"$type\": \"SecretHistories.Fucine.FucinePath, SecretHistories.Main\",\r\n      \"Path\": \"~/tabletop\"\r\n    }\r\n  },\r\n  \"Payload\": {\r\n    \"$type\": \"ElementStackCreationCommand\",\r\n    \"Id\": \"!compensationb_5434\",\r\n    \"EntityId\": \"compensationb\",\r\n    \"Quantity\": 1,\r\n    \"Mutations\": {\r\n      \"$type\": \"System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Int32, mscorlib]], mscorlib\"\r\n    },\r\n    \"Illuminations\": {\r\n      \"$type\": \"System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.String, mscorlib]], mscorlib\"\r\n    },\r\n    \"Defunct\": false,\r\n    \"LifetimeRemaining\": 0.0,\r\n    \"Dominions\": []\r\n  },\r\n  \"Defunct\": false,\r\n  \"CurrentState\": {\r\n    \"$type\": \"SecretHistories.States.TokenStates.DroppedInSphereState, SecretHistories.Main\"\r\n  }\r\n}": 1
                            },

What should be a mutation id (an element) is clearly a part of serialized save. And when things are serialized, except for saving? When they are put in console. Since input/output is the same field, it's relatively easy to create an element, have it info displayed in the field, and then accidentally click the "mutate" button - which will interpret the serialized token info as an element id.

Input/output got separated in the latest update, so once LONGIFLORUM is the main build, this problem will naturally go extinct.

For now, here's save with the problem fixed: save purified.zip

alexiskennedy commented 1 year ago

Fabulous! Thanks, I'll send it back over.