5 Commits

Author SHA1 Message Date
cclecle
82f8feb884 fix unittest import for coverage 2023-07-23 14:48:29 +01:00
cclecle
7a2eb6db47 fix linux path style
fix missing directory in testfiles
2023-07-23 13:55:19 +01:00
cclecle
95daa73463 fix: wrong commented out line 2023-07-23 13:48:48 +01:00
cclecle
52719c2546 hide print 2023-07-23 12:45:27 +01:00
cclecle
9eef1abc54 save work 2023-07-23 11:04:41 +01:00
41 changed files with 246 additions and 78 deletions

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>{{project_name}}</name>
<name>sotffixcompanions</name>
<comment></comment>
<projects>
</projects>

View File

@@ -1,2 +1,3 @@
eclipse.preferences.version=1
encoding//src/sotffixcompanions/sotffixcompanions.py=utf-8
encoding/<project>=UTF-8

View File

@@ -14,9 +14,15 @@ from importlib.metadata import version, PackageNotFoundError
try: # pragma: no cover
__version__ = version("sotffixcompanions")
except PackageNotFoundError: # pragma: no cover
except PackageNotFoundError: # pragma: no cover
import warnings
warnings.warn("can not read __version__, assuming local test context, setting it to ?.?.?")
__version__ = "?.?.?"
from .test_module import test_function
from sotffixcompanions.sotffixcompanions import (
SOTFSaveThune,
SOTFSaveThune_Exception_SaveNotFound,
SOTFSaveThune_Exception,
SOTFSaveThune_Exception_WrongSave,
)

View File

@@ -0,0 +1,157 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# sotffixcompanions (c) by chacha
#
# sotffixcompanions is licensed under a
# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Unported License.
#
# You should have received a copy of the license along with this
# work. If not, see <https://creativecommons.org/licenses/by-nc-sa/4.0/>.
"""A tiny tool to fix SOTF companions (bring them back to life)
"""
from __future__ import annotations
from typing import TYPE_CHECKING
from pathlib import Path
from glob import glob
import os
import json
if TYPE_CHECKING: # Only imports the below statements during type checking
from typing import Optional, Union, List, Dict
JsonType = Union[None, int, str, bool, List[JsonType], Dict[str, JsonType]]
class SOTFSaveThune_Exception(Exception):
pass
class SOTFSaveThune_Exception_SaveNotFound(SOTFSaveThune_Exception):
pass
class SOTFSaveThune_Exception_WrongSave(SOTFSaveThune_Exception):
pass
class SOTFSaveThune:
_savespath: Optional[Path]
def __init__(self, savespath: Optional[Path]) -> None:
if savespath is not None:
self.savespath = savespath
self.lastsave: Optional[Path] = None
self.lastGameStateSaveData: Optional[Path] = None
self.lastSaveData: Optional[Path] = None
self.prevlastsave: Optional[Path] = None
@property
def savespath(self) -> Optional[Path]:
"""savespath getter
Returns:
the current game saves directory path
"""
return self._savespath
@savespath.setter
def savespath(self, savespath: Optional[Path | str]) -> None:
"""Change / Set the game saves directory path.
Args:
savespath: The (new) game saves directory path
"""
if isinstance(savespath, (str, Path)):
self._savespath = Path(savespath)
def search_last_save(self) -> Optional[Path]:
try:
latest_file = sorted(self.savespath.iterdir(), key=lambda t: t.stat().st_mtime).pop()
print(latest_file)
MP = Path(latest_file) / "Multiplayer"
latest_file = sorted(MP.iterdir(), key=lambda t: t.stat().st_mtime).pop()
return Path(latest_file)
except Exception:
return None
def open_last_save(self) -> None:
lastsave = self.search_last_save()
if lastsave is None:
raise SOTFSaveThune_Exception_SaveNotFound()
if self.prevlastsave != lastsave:
try:
self.lastGameStateSaveData = json.load(open(lastsave / "GameStateSaveData.json"))
self.lastSaveData = json.load(open(lastsave / "SaveData.json"))
except:
raise SOTFSaveThune_Exception_WrongSave()
self.prevlastsave = lastsave
def save_last_save(self):
self.open_last_save()
with open(self.prevlastsave / "GameStateSaveData.json", "w") as outfile:
outfile.write(json.dumps(self.lastGameStateSaveData))
with open(self.prevlastsave / "SaveData.json", "w") as outfile:
outfile.write(json.dumps(self.lastSaveData))
def resuscitate_kelvin(self) -> None:
self.open_last_save()
nestedjson = json.loads(self.lastGameStateSaveData["Data"]["GameState"])
if "IsRobbyDead" in nestedjson:
print(nestedjson["IsRobbyDead"])
nestedjson["IsRobbyDead"] = False
print(nestedjson["IsRobbyDead"])
self.lastGameStateSaveData["Data"]["GameState"] = json.dumps(nestedjson)
nestedjson = json.loads(self.lastSaveData["Data"]["VailWorldSim"])
print(nestedjson["Actors"])
Kelvin = [_ for _ in nestedjson["Actors"] if _["TypeId"] == 9][0]
print(Kelvin)
if "PlayerKilled" in Kelvin and Kelvin["PlayerKilled"] == True:
del Kelvin["PlayerKilled"]
Kelvin["FamilyId "] = 0
Kelvin["State "] = 2
Kelvin["Stats"] = {"Health": 100, "Hydration": 16, "Energy": 100}
Kelvin["StateFlags "] = 0
print(nestedjson["Actors"])
self.lastSaveData["Data"]["VailWorldSim"] = json.dumps(nestedjson)
self.save_last_save()
def resuscitate_virginia(self) -> None:
self.open_last_save()
nestedjson = json.loads(self.lastGameStateSaveData["Data"]["GameState"])
# if "IsVirginiaDead" in nestedjson:
# print(nestedjson["IsVirginiaDead"])
nestedjson["IsVirginiaDead"] = False
# print(nestedjson["IsVirginiaDead"])
self.lastGameStateSaveData["Data"]["GameState"] = json.dumps(nestedjson)
nestedjson = json.loads(self.lastSaveData["Data"]["VailWorldSim"])
# print(nestedjson["Actors"])
Virginia = [_ for _ in nestedjson["Actors"] if _["TypeId"] == 10][0]
# print(Virginia)
if "PlayerKilled" in Virginia and Virginia["PlayerKilled"] == True:
del Virginia["PlayerKilled"]
Virginia["FamilyId "] = 0
Virginia["State "] = 2
Virginia["Stats"] = {"Health": 100, "Anger": 0, "Fear": 0, "Fullness": 44, "Hydration": 16, "Energy": 100, "Affection": 50}
Virginia["StateFlags "] = 0
# print(nestedjson["Actors"])
self.lastSaveData["Data"]["VailWorldSim"] = json.dumps(nestedjson)
self.save_last_save()

View File

@@ -1,43 +0,0 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# sotffixcompanions (c) by chacha
#
# sotffixcompanions is licensed under a
# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Unported License.
#
# You should have received a copy of the license along with this
# work. If not, see <https://creativecommons.org/licenses/by-nc-sa/4.0/>.
"""Phasellus tellus lectus, volutpat eu dapibus ut, suscipit vel augue.
Tips:
Aliquam non leo vel libero sagittis viverra. Quisque lobortis nunc sit amet augue euismod laoreet.
Note:
Maecenas volutpat porttitor pretium. Aliquam suscipit quis nisi non imperdiet.
Note:
Vivamus et efficitur lorem, eget imperdiet tortor. Integer vel interdum sem.
"""
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING: # Only imports the below statements during type checking
pass
def test_function(testvar: int) -> int:
""" A test function that return testvar+1 and print "Hello world !"
Proin eget sapien eget ipsum efficitur mollis nec ac nibh.
Note:
Morbi id lectus maximus, condimentum nunc eget, porta felis. In tristique velit tortor.
Args:
testvar: any integer
Returns:
testvar+1
"""
print("Hello world !")
return testvar+1

View File

@@ -0,0 +1,45 @@
# sotffixcompanions (c) by chacha
#
# sotffixcompanions is licensed under a
# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Unported License.
#
# You should have received a copy of the license along with this
# work. If not, see <https://creativecommons.org/licenses/by-nc-sa/4.0/>.
import unittest
from io import StringIO
from pathlib import Path
from contextlib import redirect_stdout, redirect_stderr
print(__name__)
print(__package__)
from src.sotffixcompanions import SOTFSaveThune, __version__, SOTFSaveThune_Exception_SaveNotFound
testdir_path = Path(__file__).parent.resolve()
class TestSOTF(unittest.TestCase):
def test_version(self):
self.assertNotEqual(__version__, "?.?.?")
def test_SOTFSaveThune_searchlastsave(self):
testSOTF = SOTFSaveThune(testdir_path / "testfiles" / "Saves")
testSOTF.search_last_save()
def test_SOTFSaveThune_SaveNotFound(self):
testSOTF = SOTFSaveThune(testdir_path / "testfiles" / "NoSaves")
with self.assertRaises(SOTFSaveThune_Exception_SaveNotFound):
testSOTF.open_last_save()
def test_SOTFSaveThune_openlastsave(self):
testSOTF = SOTFSaveThune(testdir_path / "testfiles" / "Saves")
testSOTF.open_last_save()
def test_SOTFSaveThune_resuscitate_kelvin(self):
testSOTF = SOTFSaveThune(testdir_path / "testfiles" / "Saves")
testSOTF.resuscitate_kelvin()
def test_SOTFSaveThune_resuscitate_virginia(self):
testSOTF = SOTFSaveThune(testdir_path / "testfiles" / "Saves")
testSOTF.resuscitate_virginia()

View File

@@ -1,32 +0,0 @@
# sotffixcompanions (c) by chacha
#
# sotffixcompanions is licensed under a
# Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International Unported License.
#
# You should have received a copy of the license along with this
# work. If not, see <https://creativecommons.org/licenses/by-nc-sa/4.0/>.
import unittest
from io import StringIO
from contextlib import redirect_stdout,redirect_stderr
print(__name__)
print(__package__)
from src import sotffixcompanions
class Testtest_module(unittest.TestCase):
def test_version(self):
self.assertNotEqual(sotffixcompanions.__version__,"?.?.?")
def test_test_module(self):
with redirect_stdout(StringIO()) as capted_stdout, redirect_stderr(StringIO()) as capted_stderr:
self.assertEqual(sotffixcompanions.test_function(41),42)
self.assertEqual(len(capted_stderr.getvalue()),0)
self.assertEqual(capted_stdout.getvalue().strip(),"Hello world !")
self.assertEqual(len(capted_stderr.getvalue()),0)

View File

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"Fires":"{\"Version\":\"0.0.0\",\"FiresPerStructureType\":{\"32\":[{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":2,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":1260.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":0.892857134},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":2,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":2,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":2,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":2,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":2,\"Fuel\":120.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":0.357142866},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":1.0},{\"PutOutChance\":1,\"Fuel\":1260.0,\"FuelDrainRate\":0.25},{\"IsLit\":true,\"PutOutChance\":1,\"Fuel\":237.6526,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":300.0,\"FuelDrainRate\":0.25},{\"PutOutChance\":1,\"Fuel\":120.0,\"FuelDrainRate\":0.357142866},{\"PutOutChance\":2,\"Fuel\":120.0,\"FuelDrainRate\":1.0}]}}"}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"FreeFormTreeStructures":"{\"Version\":\"0.0.1\",\"_treeStructureData\":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"FurnitureStorage":"{\"Version\":\"0.0.0\",\"Furnitures\":[]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"GameSetup":"{\"_settings\":[{\"Name\":\"Mode\",\"SettingType\":3,\"StringValue\":\"Custom\"},{\"Name\":\"UID\",\"SettingType\":3,\"StringValue\":\"9c2c14b59b1f45779dc26e1b789de83c\"},{\"Name\":\"GameSetting.Vail.EnemySpawn\",\"BoolValue\":true},{\"Name\":\"GameSetting.Vail.EnemyHealth\",\"SettingType\":3,\"StringValue\":\"LOW\"},{\"Name\":\"GameSetting.Vail.EnemyArmour\",\"SettingType\":3,\"StringValue\":\"LOW\"},{\"Name\":\"GameSetting.Vail.AnimalSpawnRate\",\"SettingType\":3,\"StringValue\":\"High\"},{\"Name\":\"GameSetting.Environment.SeasonLength\",\"SettingType\":3,\"StringValue\":\"Long\"},{\"Name\":\"GameSetting.Environment.DayLength\",\"SettingType\":3,\"StringValue\":\"Long\"},{\"Name\":\"GameSetting.Environment.PrecipitationFrequency\",\"SettingType\":3,\"StringValue\":\"Low\"}],\"name\":\"\"}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"GameState":"{\"Version\":\"0.0.0\",\"GameName\":\"Custom 148 Days 16:12:14\",\"SaveTime\":\"2023-05-08T17:57:18.9719754+02:00\",\"GameType\":\"Custom\",\"GameId\":\"cd34590b-6d7a-40b8-884a-82bee685e61c\",\"GameDays\":148,\"GameHours\":16,\"GameMinutes\":12,\"GameSeconds\":23,\"GameMilliseconds\":555,\"IsRobbyDead\":true,\"CoreGameCompleted\":true,\"StayedOnIsland\":true,\"CrashSite\":\"snow\",\"NamedIntDatas\":[{\"SaveObjectNameId\":\"LuxuryBunker.EntranceDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"LuxuryBunker.HellDoorCaveEntrance\",\"SaveValue\":3},{\"SaveObjectNameId\":\"HangingTacticalGpsPickedUp\"},{\"SaveObjectNameId\":\"BuriedTacticalGpsPickedUp\"},{\"SaveObjectNameId\":\"RaftTacticalGpsPickeUp\",\"SaveValue\":1},{\"SaveObjectNameId\":\"BunkerA.EntranceHatch\",\"SaveValue\":3},{\"SaveObjectNameId\":\"BunkerB.EntranceHatch\",\"SaveValue\":3},{\"SaveObjectNameId\":\"BunkerC.EntranceHatch\",\"SaveValue\":3},{\"SaveObjectNameId\":\"EntertainmentBunker.ExitDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"EntertainmentBunker.EntranceDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"EntertainmentBunker.ComputerRoomDoor\"},{\"SaveObjectNameId\":\"BunkerFoodAndDining.EntranceHatch\",\"SaveValue\":3},{\"SaveObjectNameId\":\"BunkerFoodAndDining.EntranceDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"BunkerFoodAndDining.DiningDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"HangingTactical\",\"SaveValue\":1},{\"SaveObjectNameId\":\"HangingTacticalCutDown\",\"SaveValue\":1},{\"SaveObjectNameId\":\"CaveC.Sluggy\",\"SaveValue\":3},{\"SaveObjectNameId\":\"BunkerResidential.ExitDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"BunkerResidential.EntranceDoor\",\"SaveValue\":3},{\"SaveObjectNameId\":\"CaveB.Sluggy\",\"SaveValue\":1}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"GardenPlotManager":"{\"_gardenPlotsData\":[{\"SeedId\":-1},{\"SeedId\":605,\"GrowTimeSecondsRemaining\":-7.48648262},{\"SeedId\":600,\"GrowTimeSecondsRemaining\":-7.060627},{\"SeedId\":604,\"GrowTimeSecondsRemaining\":-46817.832},{\"SeedId\":599,\"GrowTimeSecondsRemaining\":-46817.832},{\"SeedId\":603,\"GrowTimeSecondsRemaining\":-7.45452166},{\"SeedId\":602,\"GrowTimeSecondsRemaining\":-7.27251053},{\"SeedId\":596,\"GrowTimeSecondsRemaining\":-7.51452255},{\"SeedId\":599,\"GrowTimeSecondsRemaining\":-46817.832},{\"SeedId\":605,\"GrowTimeSecondsRemaining\":-7.53163671},{\"SeedId\":596,\"GrowTimeSecondsRemaining\":-91357.9453},{\"SeedId\":604,\"GrowTimeSecondsRemaining\":-92841.52}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"Hotkeys":"{\"Version\":\"0.0.1\",\"RightHandItemIds\":[394,474,355,381,522,379,356,-1,426,-1],\"LeftHandItemIds\":[-1,-1,-1,-1,-1,-1,-1,471,-1,-1]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"MultiplayerPlayerRoles":"{\"Version\":\"0.0.0\",\"PlayerList\":[]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"PlayerArmourSystem":"{\"Version\":\"0.0.0\",\"ArmourPieces\":[{\"ItemId\":593,\"Slot\":4,\"RemainingArmourpoints\":40.0},{\"ItemId\":593,\"Slot\":5,\"RemainingArmourpoints\":5.0},{\"ItemId\":593,\"Slot\":6,\"RemainingArmourpoints\":40.0},{\"ItemId\":593,\"Slot\":7,\"RemainingArmourpoints\":40.0},{\"ItemId\":593,\"Slot\":10,\"RemainingArmourpoints\":40.0},{\"ItemId\":593,\"Slot\":11,\"RemainingArmourpoints\":40.0}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"PlayerClothingSystem":"{\"Version\":\"0.0.0\",\"Clothing\":[500]}"}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"PlayerRetrieveDroppedInventoryAction":"{\"Version\":\"0.0.0\"}"}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"RainCatcherManager":"{\"_rainCatchersData\":[{\"IsFrozen\":true},{\"IsFrozen\":true}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"Resin3dPrinter_BunkerA":"{\"Version\":\"0.0.0\",\"CurrentResinVolume\":6.666664,\"CurrentBlueprintId\":4}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"Resin3dPrinter_BunkerB":"{\"Version\":\"0.0.0\",\"CurrentResinVolume\":80.00001,\"CurrentBlueprintId\":4}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"Resin3dPrinter_Entertainment":"{\"Version\":\"0.0.0\",\"CurrentResinVolume\":0.000112533569,\"CurrentBlueprintId\":4}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"Resin3dPrinter_Residential":"{\"Version\":\"0.0.0\",\"InMidPrint\":true,\"CurrentBlueprintId\":4}"}}

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"ScrewStructureNodeInstances":"{\"_structures\":[{\"Id\":43,\"Pos\":{\"x\":1728.49182,\"y\":96.43189,\"z\":-490.3838},\"Rot\":{\"w\":1.0}}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"ScrewTraps":"{\"_tarpStructureData\":[{\"IsTriggered\":true},{\"IsTriggered\":true}]}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"ScrewTreeLinkers":"{\"_treeStructureData\":[{},{},{},{},{},{},{},{},{},{},{},{\"_locatorId\":\"4D13C5FFC09E0500055F0A00\"},{},{},{},{},{},{},{},{\"_locatorId\":\"78C7DEFFB8740C0046CC0800\"},{},{\"_locatorId\":\"5E29E4FFD0800D00EF3B0500\"},{},{},{},{},{},{},{},{\"_locatorId\":\"3A9DEDFF7D86140088C4FEFF\"},{},{\"_locatorId\":\"3A9DEDFF7D86140088C4FEFF\"},{},{\"_locatorId\":\"3A9DEDFF7D86140088C4FEFF\"},{},{\"_locatorId\":\"F572C4FF610305009CBA1700\"},{},{},{},{\"_locatorId\":\"4CF1C5FFF1EF0500CC0E2700\"},{},{\"_locatorId\":\"7721C7FFAABB0500607C1E00\"},{},{\"_locatorId\":\"F2C4CAFF051405008E353C00\"},{\"_locatorId\":\"EE13BAFF68F60700DABAF9FF\"},{\"_locatorId\":\"EE13BAFF68F60700DABAF9FF\"},{},{\"_locatorId\":\"B44BC9FFB35C0500E9523F00\"},{\"_locatorId\":\"A3AEC8FF40DA04003BE44400\"},{\"_locatorId\":\"49BAC7FF580A05009D5B4500\"},{},{\"_locatorId\":\"DDA7C3FFAC8F0500E7924C00\"},{},{\"_locatorId\":\"811EC2FFF0F40500913B4F00\"},{},{\"_locatorId\":\"16FAC0FF160C060057B64F00\"},{},{\"_locatorId\":\"E9D46600284605004EAB2700\"},{},{\"_locatorId\":\"6FE36300F8420500623D2900\"},{},{\"_locatorId\":\"4A585E00668D0300C6BC2C00\"},{},{\"_locatorId\":\"CCE45A000B7B0400D8572F00\"},{},{\"_locatorId\":\"4B325300B4AA06001DBA3500\"},{},{\"_locatorId\":\"BD854E000A360700DEB73D00\"},{},{\"_locatorId\":\"EC9C48004FB707001BEF3E00\"},{},{\"_locatorId\":\"D6EA41004C7908000B453E00\"},{},{\"_locatorId\":\"6E623D0058180900295A3F00\"},{},{\"_locatorId\":\"0853360095810700ECDE4300\"},{},{\"_locatorId\":\"165D3300A164050091EA4800\"},{},{\"_locatorId\":\"E0182B0065EC050088854A00\"},{},{\"_locatorId\":\"8FF92800EADF0500AA294B00\"},{},{\"_locatorId\":\"450F210011DC0400C7854A00\"},{},{\"_locatorId\":\"8FF92800EADF0500AA294B00\"},{},{\"_locatorId\":\"D6EA41004C7908000B453E00\"},{},{\"_locatorId\":\"4B325300B4AA06001DBA3500\"},{},{\"_locatorId\":\"80E1C2FFF8F20500A2F45300\"},{},{\"_locatorId\":\"80E1C2FFF8F20500A2F45300\"},{\"_locatorId\":\"BFE0CAFFDB0F050021F95000\"},{\"_locatorId\":\"D65ACAFF1E1D050072CE5000\"},{\"_locatorId\":\"88B2CDFF505A0400266A4F00\"},{\"_locatorId\":\"95FDCDFFE221040072784E00\"},{},{\"_locatorId\":\"5753D0FFD8FE0300B68F4900\"},{},{\"_locatorId\":\"A083D7FF168803006ABC4400\"},{},{\"_locatorId\":\"2F09DBFFBFB60300962E4300\"},{},{\"_locatorId\":\"CBA3DEFF147103006BCD4200\"},{},{\"_locatorId\":\"608AE4FF84500200B7DC4300\"},{},{\"_locatorId\":\"608AE4FF84500200B7DC4300\"},{},{\"_locatorId\":\"5B26EBFF19C80200818A4600\"},{},{\"_locatorId\":\"B2FAF1FFD50A030041B94600\"},{},{\"_locatorId\":\"C411F9FF5071030050A54400\"},{},{\"_locatorId\":\"FE38FEFFE3920400BC4B4400\"},{},{\"_locatorId\":\"CC960100B30805005FDC4A00\"},{},{\"_locatorId\":\"EEA30800858C050015B54700\"},{},{\"_locatorId\":\"20640B00024A06001EC24300\"},{},{\"_locatorId\":\"F8410F00DC120600E6B94100\"},{},{\"_locatorId\":\"AEBA14002993070029324000\"},{},{\"_locatorId\":\"CB411900899F0800BCE04100\"},{},{\"_locatorId\":\"811EC2FFF0F40500913B4F00\"},{},{\"_locatorId\":\"5111200058A508001D6A4600\"},{},{\"_locatorId\":\"450F210011DC0400C7854A00\"},{},{\"_locatorId\":\"E490550014A5050022A13300\"},{},{\"_locatorId\":\"CCE45A000B7B0400D8572F00\"},{},{\"_locatorId\":\"709B6B00B1530200BFCC2100\"},{},{\"_locatorId\":\"413C6A003D4203009B4E1E00\"},{},{\"_locatorId\":\"15B5650068F50300244E1900\"},{},{\"_locatorId\":\"B2B862002B7A04008A1F1300\"},{\"_locatorId\":\"738C5400335906006A753400\"},{\"_locatorId\":\"E490550014A5050022A13300\"},{},{\"_locatorId\":\"278C6000EE690200755A0400\"},{\"_locatorId\":\"4FB75F0074CA0400F8280C00\"},{\"_locatorId\":\"0B7D5F004F500400D4F60A00\"},{\"_locatorId\":\"44ED61002D9304002D511200\"},{\"_locatorId\":\"B2B862002B7A04008A1F1300\"},{},{},{},{},{},{\"_locatorId\":\"D0256200BB5502002FAC0100\"},{},{\"_locatorId\":\"E9DD650030530200EDB0F9FF\"},{},{\"_locatorId\":\"E18267000BCC0300F118F2FF\"},{},{\"_locatorId\":\"9E826B007FE903007329EBFF\"},{},{\"_locatorId\":\"36FC6B0069770400DEF5E6FF\"},{},{\"_locatorId\":\"AF7F6900BBA60500C111E2FF\"},{\"_locatorId\":\"AF7F6900BBA60500C111E2FF\"},{},{\"_locatorId\":\"AB72C1FF407010006134CFFF\"},{},{},{},{\"_locatorId\":\"EA2AC6FFA2BA0F00A164DAFF\"},{},{\"_locatorId\":\"68BFC8FFAEFA0E0005C8DEFF\"},{},{\"_locatorId\":\"4FCCCAFFEC3C0E0037F9E4FF\"},{},{\"_locatorId\":\"87E0CBFF5A490D000C6EE8FF\"},{},{\"_locatorId\":\"A61CCDFF1CAF0B00636CEBFF\"},{},{\"_locatorId\":\"86D3CCFFAA7C0900EAEBF3FF\"},{},{\"_locatorId\":\"8B95D0FF4566080025CF0100\"},{},{\"_locatorId\":\"387DCEFFFA780700895B0500\"},{\"_locatorId\":\"E99BCBFFE0CD06004B780900\"},{\"_locatorId\":\"F688CBFF77C40600FD1E0A00\"},{},{},{},{},{},{},{},{\"_locatorId\":\"4CF1C5FFF1EF0500CC0E2700\"},{},{\"_locatorId\":\"BF01CBFF9BA605001C703400\"},{},{},{},{},{},{\"_locatorId\":\"F8410F00DC120600E6B94100\"},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}"}}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"WeatherSystem":"{\"Version\":\"0.0.0\",\"_currentSeason\":3,\"_startingDayOffset\":10.0,\"_wetnessVelocity\":-3.28153146E-05,\"_wetnessCurrent\":0.00183244119}"}}

View File

@@ -0,0 +1 @@
{"Version":"0.0.0","Data":{"WorldItemManager":"{\"Version\":\"0.0.0\",\"WorldItemStates\":[{\"ObjectNameId\":\"World.HangGlider.12\",\"ItemId\":626,\"Position\":{\"x\":-1297.054,\"y\":79.975,\"z\":1740.63477},\"Rotation\":{\"x\":345.6263,\"y\":51.9747849,\"z\":2.88373137}},{\"ObjectNameId\":\"World.HangGlider.04\",\"ItemId\":626,\"Position\":{\"x\":-1184.1,\"y\":221.516174,\"z\":-1728.82288},\"Rotation\":{\"x\":339.567169,\"y\":202.175552,\"z\":358.482422}},{\"ObjectNameId\":\"World.HangGlider.14\",\"ItemId\":626,\"Position\":{\"x\":846.108,\"y\":208.549,\"z\":1105.33716},\"Rotation\":{\"x\":345.6263,\"y\":41.03186,\"z\":2.88373685}},{\"ObjectNameId\":\"World.HangGlider.05\",\"ItemId\":626,\"Position\":{\"x\":733.1571,\"y\":369.35,\"z\":740.7741},\"Rotation\":{\"x\":346.592865,\"y\":55.28923,\"z\":3.63867712}},{\"ObjectNameId\":\"World.HangGlider.13\",\"ItemId\":626,\"Position\":{\"x\":-799.537,\"y\":189.46,\"z\":-281.768},\"Rotation\":{\"x\":345.6263,\"y\":325.6798,\"z\":2.883733}},{\"ObjectNameId\":\"World.HangGlider.11\",\"ItemId\":626,\"Position\":{\"x\":-1772.03,\"y\":83.56678,\"z\":1171.02441},\"Rotation\":{\"x\":347.06366,\"y\":258.640076,\"z\":4.550671}},{\"ObjectNameId\":\"World.HangGlider.01\",\"ItemId\":626,\"Position\":{\"x\":-504.4314,\"y\":322.9,\"z\":-307.391937},\"Rotation\":{\"x\":347.33783,\"y\":304.745667,\"z\":6.05460072},\"State\":1},{\"ObjectNameId\":\"World.HangGlider.06\",\"ItemId\":626,\"Position\":{\"x\":1083.82,\"y\":276.317383,\"z\":-108.445892},\"Rotation\":{\"x\":344.984741,\"y\":55.88374,\"z\":1.21760261}},{\"ObjectNameId\":\"World.HangGlider.10\",\"ItemId\":626,\"Position\":{\"x\":789.7307,\"y\":400.973053,\"z\":273.9027},\"Rotation\":{\"x\":347.482727,\"y\":134.715927,\"z\":6.64512062}},{\"ObjectNameId\":\"World.HangGlider.09\",\"ItemId\":626,\"Position\":{\"x\":1297.53906,\"y\":193.973,\"z\":-30.139},\"Rotation\":{\"x\":344.984741,\"y\":92.78199,\"z\":1.217601}},{\"ObjectNameId\":\"World.KnightV.06\",\"ItemId\":630,\"Position\":{\"x\":1106.58667,\"y\":87.5037155,\"z\":1622.528},\"Rotation\":{\"x\":353.512939,\"y\":186.727982,\"z\":59.38967}},{\"ObjectNameId\":\"World.KnightV.07\",\"ItemId\":630,\"Position\":{\"x\":1454.986,\"y\":192.25,\"z\":-417.372},\"Rotation\":{\"x\":355.17334,\"y\":306.921173,\"z\":323.681152}},{\"ObjectNameId\":\"\",\"ItemId\":626,\"Position\":{\"x\":808.3687,\"y\":227.743942,\"z\":982.7315},\"Rotation\":{\"x\":336.5333,\"y\":149.73378,\"z\":-0.00268429681},\"Unnamed\":true},{\"ObjectNameId\":\"\",\"ItemId\":626,\"Position\":{\"x\":799.067139,\"y\":227.744583,\"z\":975.5742},\"Rotation\":{\"x\":336.530243,\"y\":119.888756,\"z\":-0.000218732443},\"Unnamed\":true},{\"ObjectNameId\":\"World.KnightV.11\",\"ItemId\":630,\"Position\":{\"x\":-734.531,\"y\":134.001541,\"z\":28.555},\"Rotation\":{\"x\":359.134064,\"y\":275.3971,\"z\":308.603241}},{\"ObjectNameId\":\"\",\"ItemId\":630,\"Position\":{\"x\":-962.7085,\"y\":90.2664261,\"z\":854.2894},\"Rotation\":{\"x\":59.47909,\"y\":342.049927,\"z\":90.09661},\"Unnamed\":true},{\"ObjectNameId\":\"\",\"ItemId\":630,\"Position\":{\"x\":-961.857056,\"y\":90.27529,\"z\":855.5413},\"Rotation\":{\"x\":90.0,\"y\":47.8625031},\"Unnamed\":true},{\"ObjectNameId\":\"\",\"ItemId\":630,\"Position\":{\"x\":-964.038147,\"y\":90.29958,\"z\":856.18},\"Rotation\":{\"x\":289.935547,\"y\":303.950378,\"z\":212.422028},\"Unnamed\":true}]}"}}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
"steam_autocloud.vdf"
{
"accountid" "1154514810"
}