From 1299d718e26e5d752d8f70ab822fc678082550bd Mon Sep 17 00:00:00 2001 From: maple Date: Sun, 7 Jun 2026 23:56:20 +0900 Subject: [PATCH] Disable monster patrol movement --- Global/ChaseMonster.model | 3 +- Global/MoveMonster.model | 3 +- RootDesk/MyDesk/Model_monster-43.model | 57 +-- map/map01.map | 620 ++++++++++++------------- map/map02.map | 12 +- map/map03.map | 12 +- map/map04.map | 12 +- map/map05.map | 12 +- map/map06.map | 12 +- map/map07.map | 12 +- map/map08.map | 12 +- map/map09.map | 12 +- map/map10.map | 12 +- map/map11.map | 12 +- tools/freeze-turn-monsters.mjs | 83 ++++ 15 files changed, 477 insertions(+), 409 deletions(-) create mode 100644 tools/freeze-turn-monsters.mjs diff --git a/Global/ChaseMonster.model b/Global/ChaseMonster.model index 34d0a88..3e25ed1 100644 --- a/Global/ChaseMonster.model +++ b/Global/ChaseMonster.model @@ -23,7 +23,6 @@ "MOD.Core.SpriteRendererComponent", "MOD.Core.RigidbodyComponent", "MOD.Core.MovementComponent", - "MOD.Core.AIChaseComponent", "MOD.Core.StateComponent", "MOD.Core.HitComponent", "MOD.Core.DamageSkinSpawnerComponent", @@ -150,4 +149,4 @@ "Children": [] } } -} \ No newline at end of file +} diff --git a/Global/MoveMonster.model b/Global/MoveMonster.model index 45d04b9..1b2afd0 100644 --- a/Global/MoveMonster.model +++ b/Global/MoveMonster.model @@ -23,7 +23,6 @@ "MOD.Core.SpriteRendererComponent", "MOD.Core.RigidbodyComponent", "MOD.Core.MovementComponent", - "MOD.Core.AIWanderComponent", "MOD.Core.StateComponent", "MOD.Core.HitComponent", "MOD.Core.DamageSkinSpawnerComponent", @@ -141,4 +140,4 @@ "Children": [] } } -} \ No newline at end of file +} diff --git a/RootDesk/MyDesk/Model_monster-43.model b/RootDesk/MyDesk/Model_monster-43.model index ef0465c..477834a 100644 --- a/RootDesk/MyDesk/Model_monster-43.model +++ b/RootDesk/MyDesk/Model_monster-43.model @@ -23,7 +23,6 @@ "MOD.Core.SpriteRendererComponent", "MOD.Core.RigidbodyComponent", "MOD.Core.MovementComponent", - "MOD.Core.AIWanderComponent", "MOD.Core.StateComponent", "MOD.Core.HitComponent", "MOD.Core.DamageSkinSpawnerComponent", @@ -57,10 +56,10 @@ }, "Value": { "$type": "MOD.Core.MODQuaternion, MOD.Core", - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 } }, { @@ -186,8 +185,8 @@ }, "Value": { "$type": "MOD.Core.MODVector2, MOD.Core", - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { @@ -199,8 +198,8 @@ }, "Value": { "$type": "MOD.Core.MODVector2, MOD.Core", - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { @@ -219,7 +218,7 @@ "$type": "MODNativeType", "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" }, - "Value": 1.0 + "Value": 0 }, { "TargetType": "MOD.Core.MovementComponent", @@ -228,7 +227,7 @@ "$type": "MODNativeType", "type": "System.Single, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" }, - "Value": 0.0 + "Value": 0 }, { "TargetType": "MOD.Core.MovementComponent", @@ -239,24 +238,6 @@ }, "Value": true }, - { - "TargetType": "MOD.Core.AIWanderComponent", - "Name": "IsLegacy", - "ValueType": { - "$type": "MODNativeType", - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" - }, - "Value": false - }, - { - "TargetType": "MOD.Core.AIWanderComponent", - "Name": "Enable", - "ValueType": { - "$type": "MODNativeType", - "type": "System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" - }, - "Value": true - }, { "TargetType": "MOD.Core.StateComponent", "Name": "IsLegacy", @@ -376,8 +357,8 @@ }, "Value": { "$type": "MOD.Core.MODVector2, MOD.Core", - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { @@ -389,8 +370,8 @@ }, "Value": { "$type": "MOD.Core.MODVector2, MOD.Core", - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { @@ -402,8 +383,8 @@ }, "Value": { "$type": "MOD.Core.MODVector2, MOD.Core", - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { @@ -424,8 +405,8 @@ }, "Value": { "$type": "MOD.Core.MODVector2, MOD.Core", - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { @@ -460,4 +441,4 @@ "Children": [] } } -} \ No newline at end of file +} diff --git a/map/map01.map b/map/map01.map index 24be596..ec26d66 100644 --- a/map/map01.map +++ b/map/map01.map @@ -31,15 +31,15 @@ "@components": [ { "@type": "MOD.Core.MapComponent", - "AirAccelerationXFactor": 1.0, - "AirDecelerationXFactor": 1.0, - "FallSpeedMaxXFactor": 1.0, - "FallSpeedMaxYFactor": 1.0, - "Gravity": 1.0, + "AirAccelerationXFactor": 1, + "AirDecelerationXFactor": 1, + "FallSpeedMaxXFactor": 1, + "FallSpeedMaxYFactor": 1, + "Gravity": 1, "IsInstanceMap": false, "TileMapMode": 0, - "WalkAccelerationFactor": 1.0, - "WalkDrag": 1.0, + "WalkAccelerationFactor": 1, + "WalkDrag": 1, "Enable": true }, { @@ -54,9 +54,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -73,8 +73,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -85,9 +85,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -104,8 +104,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -116,9 +116,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -135,8 +135,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -147,9 +147,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -166,8 +166,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -178,9 +178,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -197,8 +197,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -209,9 +209,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -228,8 +228,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -240,9 +240,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -259,8 +259,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -271,9 +271,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -290,8 +290,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -302,9 +302,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -321,8 +321,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -333,9 +333,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -352,8 +352,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -364,9 +364,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -383,8 +383,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -395,9 +395,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -414,8 +414,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -426,9 +426,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -445,8 +445,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -457,9 +457,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -476,8 +476,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -488,9 +488,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -507,8 +507,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -519,9 +519,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -538,8 +538,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -550,9 +550,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -569,8 +569,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -581,9 +581,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -600,8 +600,8 @@ "y": -0.04000002 }, "Variance": { - "x": 1.0, - "y": 0.0 + "x": 1, + "y": 0 } }, { @@ -612,9 +612,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -631,8 +631,8 @@ "y": -0.9 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -643,9 +643,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -662,8 +662,8 @@ "y": -1.50000012 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -674,9 +674,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -693,8 +693,8 @@ "y": -2.10000014 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -705,9 +705,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -724,8 +724,8 @@ "y": -2.7 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -736,9 +736,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -755,8 +755,8 @@ "y": -3.30000019 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -767,9 +767,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -786,8 +786,8 @@ "y": -3.9 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -798,9 +798,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -817,8 +817,8 @@ "y": -4.50000048 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -829,9 +829,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -848,8 +848,8 @@ "y": -5.10000038 }, "Variance": { - "x": 0.0, - "y": -1.0 + "x": 0, + "y": -1 } }, { @@ -860,9 +860,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -879,8 +879,8 @@ "y": -0.04000002 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -891,9 +891,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -910,8 +910,8 @@ "y": -0.9000001 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -922,9 +922,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -941,8 +941,8 @@ "y": -1.50000012 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -953,9 +953,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -972,8 +972,8 @@ "y": -2.10000014 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -984,9 +984,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -1003,8 +1003,8 @@ "y": -2.70000029 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -1015,9 +1015,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -1034,8 +1034,8 @@ "y": -3.30000019 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -1046,9 +1046,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -1065,8 +1065,8 @@ "y": -3.90000033 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } }, { @@ -1077,9 +1077,9 @@ "layer": 1, "sortingLayerName": "MapLayer0", "attribute": { - "walk": 1.0, - "force": 0.0, - "drag": 1.0, + "walk": 1, + "force": 0, + "drag": 1, "isBlockVertical": false, "isDynamic": false, "isCustomFoothold": false, @@ -1096,8 +1096,8 @@ "y": -4.5 }, "Variance": { - "x": 0.0, - "y": 1.0 + "x": 0, + "y": 1 } } ] @@ -1205,32 +1205,32 @@ "Position": { "x": -0.225, "y": -0.15, - "z": 1000.0 + "z": 1000 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, "Enable": true }, { "@type": "MOD.Core.TileMapComponent", "Color": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, - "FootholdDrag": 1.0, - "FootholdForce": 0.0, - "FootholdWalkSpeedFactor": 1.0, + "FootholdDrag": 1, + "FootholdForce": 0, + "FootholdWalkSpeedFactor": 1, "IgnoreMapLayerCheck": false, "IsOddGridPosition": false, "OrderInLayer": 1, @@ -6298,27 +6298,27 @@ { "@type": "MOD.Core.TransformComponent", "Rotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0 + "x": 0, + "y": 0, + "z": 0 }, "Position": { - "x": -5.0, - "y": 0.0, + "x": -5, + "y": 0, "z": 999.999 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": 1, + "y": 1, + "z": 1 }, - "ZRotation": 0.0, + "ZRotation": 0, "Enable": true }, { @@ -6330,20 +6330,20 @@ "FlipY": false, "IgnoreMapLayerCheck": false, "OrderInLayer": 0, - "PlayRate": 1.0, + "PlayRate": 1, "RenderSetting": 0, "SortingLayer": "Default", "SpriteRUID": "8ef238e0d0ca4bb783aca526cff35d11", "StartFrameIndex": 0, "TiledSize": { - "x": 1.0, - "y": 1.0 + "x": 1, + "y": 1 }, "Color": { - "r": 1.0, - "g": 1.0, - "b": 1.0, - "a": 1.0 + "r": 1, + "g": 1, + "b": 1, + "a": 1 }, "Enable": true }, @@ -6386,15 +6386,15 @@ "z": 999.999 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": -1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6413,7 +6413,7 @@ "EndFrameIndex": 0, "RenderSetting": 1, "SortingLayer": "MapLayer0", - "SpriteRUID": "6c7130f51a654803a1c39cbe30e2f427", + "SpriteRUID": "4b1d55e35ae9462b944297691025429a", "StartFrameIndex": 0, "Enable": true }, @@ -6452,34 +6452,35 @@ { "@type": "MOD.Core.RigidbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "RealMoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.KinematicbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.SideviewbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6490,12 +6491,12 @@ "@type": "script.MonsterAttack", "Enable": true, "SpriteSize": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "PositionOffset": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } } ], @@ -6505,7 +6506,7 @@ { "id": "03928039-6972-4aec-bb07-64aea430561e", "path": "/maps/map01/MoveMonsterTemplate", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.AIWanderComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", "jsonString": { "name": "MoveMonsterTemplate", "path": "/maps/map01/MoveMonsterTemplate", @@ -6533,15 +6534,15 @@ "z": 999.999 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": -1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6572,25 +6573,20 @@ { "@type": "MOD.Core.RigidbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "RealMoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.MovementComponent", - "InputSpeed": 1.0, - "JumpForce": 0.0, - "Enable": true - }, - { - "@type": "MOD.Core.AIWanderComponent", - "IsLegacy": false, - "Enable": true + "InputSpeed": 0, + "JumpForce": 0, + "Enable": false }, { "@type": "MOD.Core.StateComponent", @@ -6604,7 +6600,7 @@ "y": 1.56 }, "ColliderOffset": { - "x": 0.0, + "x": 0, "y": 0.78 }, "IsLegacy": false, @@ -6623,27 +6619,27 @@ "@type": "script.MonsterAttack", "Enable": true, "SpriteSize": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "PositionOffset": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { "@type": "MOD.Core.KinematicbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.SideviewbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, @@ -6661,7 +6657,7 @@ { "id": "595374e9-e49a-4733-b00f-77e8e61dad59", "path": "/maps/map01/ChaseMonsterTemplate", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.AIChaseComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent,MOD.Core.DamageSkinSettingComponent", "jsonString": { "name": "ChaseMonsterTemplate", "path": "/maps/map01/ChaseMonsterTemplate", @@ -6689,15 +6685,15 @@ "z": 999.999 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Scale": { - "x": 1.0, - "y": 1.0, - "z": 1.0 + "x": -1, + "y": 1, + "z": 1 }, "Enable": true }, @@ -6725,25 +6721,20 @@ { "@type": "MOD.Core.RigidbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "RealMoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.MovementComponent", - "InputSpeed": 1.5, - "JumpForce": 6.0, - "Enable": true - }, - { - "@type": "MOD.Core.AIChaseComponent", - "IsLegacy": false, - "Enable": true + "InputSpeed": 0, + "JumpForce": 6, + "Enable": false }, { "@type": "MOD.Core.StateComponent", @@ -6776,27 +6767,27 @@ "@type": "script.MonsterAttack", "Enable": true, "SpriteSize": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "PositionOffset": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { "@type": "MOD.Core.KinematicbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.SideviewbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, @@ -6814,7 +6805,7 @@ { "id": "a6d1d4be-0b0a-4581-b2a8-a3cddecb44bd", "path": "/maps/map01/monster-43", - "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.AIWanderComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent", + "componentNames": "MOD.Core.TransformComponent,MOD.Core.StateAnimationComponent,MOD.Core.SpriteRendererComponent,MOD.Core.RigidbodyComponent,MOD.Core.MovementComponent,MOD.Core.StateComponent,MOD.Core.HitComponent,MOD.Core.DamageSkinSpawnerComponent,script.Monster,script.MonsterAttack,MOD.Core.KinematicbodyComponent,MOD.Core.SideviewbodyComponent", "jsonString": { "name": "monster-43", "path": "/maps/map01/monster-43", @@ -6842,10 +6833,10 @@ "z": 999.999 }, "QuaternionRotation": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 1.0 + "x": 0, + "y": 0, + "z": 0, + "w": 1 }, "Enable": true }, @@ -6872,32 +6863,27 @@ "EndFrameIndex": 0, "RenderSetting": 1, "SortingLayer": "MapLayer0", - "SpriteRUID": "c96c11f9a3f845a4b6a27d9ca10ab103", + "SpriteRUID": "3eb72eab0a394c78b13e88c8dc4a5ed0", "StartFrameIndex": 0, "Enable": true }, { "@type": "MOD.Core.RigidbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "RealMoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.MovementComponent", - "InputSpeed": 1.0, - "JumpForce": 0.0, - "Enable": true - }, - { - "@type": "MOD.Core.AIWanderComponent", - "IsLegacy": false, - "Enable": true + "InputSpeed": 0, + "JumpForce": 0, + "Enable": false }, { "@type": "MOD.Core.StateComponent", @@ -6930,27 +6916,27 @@ "@type": "script.MonsterAttack", "Enable": true, "SpriteSize": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "PositionOffset": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 } }, { "@type": "MOD.Core.KinematicbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true }, { "@type": "MOD.Core.SideviewbodyComponent", "MoveVelocity": { - "x": 0.0, - "y": 0.0 + "x": 0, + "y": 0 }, "Enable": true } @@ -6960,4 +6946,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map02.map b/map/map02.map index a8a3fb4..063739d 100644 --- a/map/map02.map +++ b/map/map02.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map03.map b/map/map03.map index ada7a0c..4c57001 100644 --- a/map/map03.map +++ b/map/map03.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map04.map b/map/map04.map index 99fc421..1242d53 100644 --- a/map/map04.map +++ b/map/map04.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map05.map b/map/map05.map index 75e8bda..7068536 100644 --- a/map/map05.map +++ b/map/map05.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map06.map b/map/map06.map index 16980c3..1edc0e9 100644 --- a/map/map06.map +++ b/map/map06.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map07.map b/map/map07.map index 0617e92..0ee83d2 100644 --- a/map/map07.map +++ b/map/map07.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map08.map b/map/map08.map index c5a6622..311538f 100644 --- a/map/map08.map +++ b/map/map08.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map09.map b/map/map09.map index 10505a8..652c2cd 100644 --- a/map/map09.map +++ b/map/map09.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map10.map b/map/map10.map index 60449d6..6a8aa5a 100644 --- a/map/map10.map +++ b/map/map10.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/map/map11.map b/map/map11.map index f356525..f66c3b5 100644 --- a/map/map11.map +++ b/map/map11.map @@ -6392,7 +6392,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6479,7 +6479,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6539,7 +6540,7 @@ "w": 1 }, "Scale": { - "x": 1, + "x": -1, "y": 1, "z": 1 }, @@ -6626,7 +6627,8 @@ }, { "@type": "MOD.Core.MovementComponent", - "Enable": true + "Enable": false, + "InputSpeed": 0 }, { "@type": "script.Monster", @@ -6651,4 +6653,4 @@ } ] } -} \ No newline at end of file +} diff --git a/tools/freeze-turn-monsters.mjs b/tools/freeze-turn-monsters.mjs new file mode 100644 index 0000000..579dd74 --- /dev/null +++ b/tools/freeze-turn-monsters.mjs @@ -0,0 +1,83 @@ +import { readFileSync, writeFileSync } from 'node:fs'; + +const AI_COMPONENTS = new Set([ + 'MOD.Core.AIWanderComponent', + 'MOD.Core.AIChaseComponent', +]); + +const mapFiles = Array.from({ length: 11 }, (_, i) => `map/map${String(i + 1).padStart(2, '0')}.map`); +const modelFiles = [ + 'Global/MoveMonster.model', + 'Global/ChaseMonster.model', + 'RootDesk/MyDesk/Model_monster-43.model', +]; + +function isMonster(entity) { + return (entity.componentNames || '').includes('script.Monster'); +} + +function component(entity, type) { + return entity.jsonString['@components'].find((c) => c['@type'] === type); +} + +function patchMonsterEntity(entity) { + const components = entity.jsonString['@components']; + entity.jsonString['@components'] = components.filter((c) => !AI_COMPONENTS.has(c['@type'])); + entity.componentNames = entity.jsonString['@components'].map((c) => c['@type']).join(','); + + const movement = component(entity, 'MOD.Core.MovementComponent'); + if (movement) { + movement.Enable = false; + movement.InputSpeed = 0; + } + + const rigidbody = component(entity, 'MOD.Core.RigidbodyComponent'); + if (rigidbody) { + rigidbody.MoveVelocity = { x: 0, y: 0 }; + rigidbody.RealMoveVelocity = { x: 0, y: 0 }; + } + + const transform = component(entity, 'MOD.Core.TransformComponent'); + if (transform?.Scale) { + transform.Scale.x = -Math.abs(transform.Scale.x || 1); + transform.Scale.y = Math.abs(transform.Scale.y || 1); + } + + const stateAnimation = component(entity, 'MOD.Core.StateAnimationComponent'); + const renderer = component(entity, 'MOD.Core.SpriteRendererComponent'); + const stand = stateAnimation?.ActionSheet?.stand; + if (renderer && stand) { + renderer.SpriteRUID = stand; + } +} + +function patchMap(file) { + const data = JSON.parse(readFileSync(file, 'utf8')); + for (const entity of data.ContentProto.Entities.filter(isMonster)) { + patchMonsterEntity(entity); + } + writeFileSync(file, `${JSON.stringify(data, null, 2)}\n`, 'utf8'); +} + +function patchModel(file) { + const data = JSON.parse(readFileSync(file, 'utf8')); + const json = data.ContentProto.Json; + json.Components = (json.Components || []).filter((name) => !AI_COMPONENTS.has(name)); + json.Values = (json.Values || []).filter((value) => !AI_COMPONENTS.has(value.TargetType)); + for (const value of json.Values) { + if (value.TargetType === 'MOD.Core.MovementComponent' && value.Name === 'InputSpeed') { + value.Value = 0; + } + } + writeFileSync(file, `${JSON.stringify(data, null, 2)}\n`, 'utf8'); +} + +for (const file of mapFiles) { + patchMap(file); +} + +for (const file of modelFiles) { + patchModel(file); +} + +console.log('Turn-combat monster movement disabled.');