Code:
class PlayerSaveGame extends Object
editinlinenew;
struct native SkillSaveGameData
{
var private SkillDefinition SkillDefinition;
var private int Grade;
var private int GradePoints;
var private int EquippedSlotIndex;
structdefaultproperties
{
SkillDefinition=none
Grade=0
GradePoints=0
EquippedSlotIndex=-1
}
};
struct native ResourceSaveGameData
{
var private ResourceDefinition ResourceDefinition;
var private ResourcePoolDefinition ResourcePoolDefinition;
var private float Amount;
var private int UpgradeLevel;
structdefaultproperties
{
ResourceDefinition=none
ResourcePoolDefinition=none
Amount=0.00
UpgradeLevel=0
}
};
struct native InventorySaveGameData
{
var private ItemDefinitionData DefinitionData;
var private int Quantity;
var private bool bEquipped;
var private Engine.WillowInventory.PlayerMark Mark;
structdefaultproperties
{
DefinitionData=(ItemDefinition=none,BalanceDefinition=none,ManufacturerDefinition=none,ManufacturerGradeIndex=0,AlphaItemPartDefinition=none,BetaItemPartDefinition=none,GammaItemPartDefinition=none,DeltaItemPartDefinition=none,EpsilonItemPartDefinition=none,ZetaItemPartDefinition=none,EtaItemPartDefinition=none,ThetaItemPartDefinition=none,MaterialItemPartDefinition=none,PrefixItemNamePartDefinition=none,TitleItemNamePartDefinition=none,GameStage=0,UniqueId=0)
Quantity=0
bEquipped=false
Mark=PlayerMark.PM_Standard
}
};
struct native UnloadableDlcItemSaveGameData
{
var private InventorySerialNumber SerialNumber;
var private int Quantity;
var private bool bEquipped;
var private Engine.WillowInventory.PlayerMark Mark;
structdefaultproperties
{
SerialNumber=(Buffer=0,Buffer[1]=0,Buffer[2]=0,Buffer[3]=0,Buffer[4]=0,Buffer[5]=0,Buffer[6]=0,Buffer[7]=0,Buffer[8]=0,Buffer[9]=0,Buffer[10]=0,Buffer[11]=0,Buffer[12]=0,Buffer[13]=0,Buffer[14]=0,Buffer[15]=0,Buffer[16]=0,Buffer[17]=0,Buffer[18]=0,Buffer[19]=0,Buffer[20]=0,Buffer[21]=0,Buffer[22]=0,Buffer[23]=0,Buffer[24]=0,Buffer[25]=0,Buffer[26]=0,Buffer[27]=0,Buffer[28]=0,Buffer[29]=0,Buffer[30]=0,Buffer[31]=0,Buffer[32]=0,Buffer[33]=0,Buffer[34]=0,Buffer[35]=0,Buffer[36]=0,Buffer[37]=0,Buffer[38]=0,Buffer[39]=0,State=SerialNumberState.SNS_Empty,RunningCounter=0,EncryptedLength=0)
Quantity=0
bEquipped=false
Mark=PlayerMark.PM_Trash
}
};
struct native WeaponSaveGameData
{
var private WeaponDefinitionData WeaponDefinitionData;
var private WillowDeclarations.EQuickWeaponSlot QuickSlot;
var private Engine.WillowInventory.PlayerMark Mark;
structdefaultproperties
{
WeaponDefinitionData=(WeaponTypeDefinition=none,BalanceDefinition=none,ManufacturerDefinition=none,ManufacturerGradeIndex=0,BodyPartDefinition=none,GripPartDefinition=none,BarrelPartDefinition=none,SightPartDefinition=none,StockPartDefinition=none,ElementalPartDefinition=none,Accessory1PartDefinition=none,Accessory2PartDefinition=none,MaterialPartDefinition=none,PrefixPartDefinition=none,TitlePartDefinition=none,GameStage=0,UniqueId=0)
QuickSlot=EQuickWeaponSlot.QuickSelectNone
Mark=PlayerMark.PM_Standard
}
};
struct native UnloadableDlcWeaponSaveGameData
{
var private InventorySerialNumber SerialNumber;
var private WillowDeclarations.EQuickWeaponSlot QuickSlot;
var private Engine.WillowInventory.PlayerMark Mark;
structdefaultproperties
{
SerialNumber=(Buffer=0,Buffer[1]=0,Buffer[2]=0,Buffer[3]=0,Buffer[4]=0,Buffer[5]=0,Buffer[6]=0,Buffer[7]=0,Buffer[8]=0,Buffer[9]=0,Buffer[10]=0,Buffer[11]=0,Buffer[12]=0,Buffer[13]=0,Buffer[14]=0,Buffer[15]=0,Buffer[16]=0,Buffer[17]=0,Buffer[18]=0,Buffer[19]=0,Buffer[20]=0,Buffer[21]=0,Buffer[22]=0,Buffer[23]=0,Buffer[24]=0,Buffer[25]=0,Buffer[26]=0,Buffer[27]=0,Buffer[28]=0,Buffer[29]=0,Buffer[30]=0,Buffer[31]=0,Buffer[32]=0,Buffer[33]=0,Buffer[34]=0,Buffer[35]=0,Buffer[36]=0,Buffer[37]=0,Buffer[38]=0,Buffer[39]=0,State=SerialNumberState.SNS_Empty,RunningCounter=0,EncryptedLength=0)
QuickSlot=EQuickWeaponSlot.QuickSelectNone
Mark=PlayerMark.PM_Trash
}
};
struct native InventorySlotSaveGameData
{
var private int InventorySlotMax_Misc;
var private int WeaponReadyMax;
var private int NumQuickSlotsFlourished;
structdefaultproperties
{
InventorySlotMax_Misc=0
WeaponReadyMax=0
NumQuickSlotsFlourished=0
}
};
struct native MissionPlaythroughSaveGameData
{
var private int PlayThroughNumber;
var init private array<init private MissionStatusPlayerData> MissionData;
var init private array<init private UnloadableDlcMissionStatusData> UnloadableDlcMissionData;
var init private array<init private PendingMissionRewardData> PendingMissionRewards;
var init private array<init private UnloadableDlcPendingRewardData> UnloadableDlcPendingMissionRewards;
var init private string ActiveMission;
var init private array<init private MissionDefinition> FilteredMissions;
structdefaultproperties
{
PlayThroughNumber=0
MissionData=none
UnloadableDlcMissionData=none
PendingMissionRewards=none
UnloadableDlcPendingMissionRewards=none
ActiveMission=""
FilteredMissions=none
}
};
struct native UnloadableDlcEchoCallData
{
var init private string CallDefName;
var private int DlcPackageId;
structdefaultproperties
{
CallDefName=""
DlcPackageId=0
}
};
struct native PlayerUIPreferences
{
var private string CharacterName;
var private Color PrimaryColor;
var private Color SecondaryColor;
var private Color TertiaryColor;
structdefaultproperties
{
CharacterName=""
PrimaryColor=(R=255,G=255,B=255,A=255)
SecondaryColor=(R=255,G=255,B=255,A=255)
TertiaryColor=(R=255,G=255,B=255,A=255)
}
};
struct native RegionGameStageData
{
var private RegionDefinition RegionDef;
var private int GameStage;
var private int PlaythroughIdx;
structdefaultproperties
{
RegionDef=none
GameStage=0
PlaythroughIdx=0
}
};
struct native UnloadableDlcRegionGameStageData
{
var private string RegionDefName;
var private int GameStage;
var private int PlaythroughIdx;
var private int DlcPackageId;
structdefaultproperties
{
RegionDefName=""
GameStage=0
PlaythroughIdx=0
DlcPackageId=0
}
};
struct native WorldDiscoveryData
{
var private name DiscoveryName;
var private bool HasBeenUncovered;
structdefaultproperties
{
DiscoveryName=None
HasBeenUncovered=false
}
};
struct native ExpansionData
{
var private int Tag;
var private array<private byte> Data;
structdefaultproperties
{
Tag=0
Data=none
}
};
struct native UnloadableDlcChallengeData
{
var init private string ChallengeDefName;
var private int DlcPackageId;
structdefaultproperties
{
ChallengeDefName=""
DlcPackageId=0
}
};
struct native OneOffLevelChallengeData
{
var private byte PackageId;
var private byte ContentId;
var private array<private int> Completion;
structdefaultproperties
{
PackageId=0
ContentId=0
Completion=none
}
};
struct native BankSlot
{
var private InventorySerialNumber InventorySerialNumber;
structdefaultproperties
{
InventorySerialNumber=(Buffer=0,Buffer[1]=0,Buffer[2]=0,Buffer[3]=0,Buffer[4]=0,Buffer[5]=0,Buffer[6]=0,Buffer[7]=0,Buffer[8]=0,Buffer[9]=0,Buffer[10]=0,Buffer[11]=0,Buffer[12]=0,Buffer[13]=0,Buffer[14]=0,Buffer[15]=0,Buffer[16]=0,Buffer[17]=0,Buffer[18]=0,Buffer[19]=0,Buffer[20]=0,Buffer[21]=0,Buffer[22]=0,Buffer[23]=0,Buffer[24]=0,Buffer[25]=0,Buffer[26]=0,Buffer[27]=0,Buffer[28]=0,Buffer[29]=0,Buffer[30]=0,Buffer[31]=0,Buffer[32]=0,Buffer[33]=0,Buffer[34]=0,Buffer[35]=0,Buffer[36]=0,Buffer[37]=0,Buffer[38]=0,Buffer[39]=0,State=SerialNumberState.SNS_Empty,RunningCounter=0,EncryptedLength=0)
}
};
struct native LockoutData
{
var private LockoutDefinition LockoutDef;
var private int LockoutTime;
structdefaultproperties
{
LockoutDef=none
LockoutTime=0
}
};
struct native UnloadableDlcLockoutData
{
var private string LockoutDefName;
var private int LockoutTime;
var private int DlcPackageId;
structdefaultproperties
{
LockoutDefName=""
LockoutTime=0
DlcPackageId=0
}
};
var private PlayerUIPreferences UIPreferences;
var private PlayerClassDefinition PlayerClassDefinition;
var private int ExpLevel;
var private int ExpPoints;
var private int GeneralSkillPoints;
var private int SpecialistSkillPoints;
var private int CurrencyOnHand[13];
var private int PlaythroughsCompleted;
var private array<private SkillSaveGameData> SkillData;
var private array<private ResourceSaveGameData> ResourceData;
var private array<private InventorySaveGameData> ItemData;
var private array<private UnloadableDlcItemSaveGameData> UnloadableDlcItemData;
var private InventorySlotSaveGameData InventorySlotData;
var private array<private WeaponSaveGameData> WeaponData;
var private array<private UnloadableDlcWeaponSaveGameData> UnloadableDlcWeaponData;
var private array<private MissionPlaythroughSaveGameData> MissionPlaythroughs;
var private CustomizationDefinition AppliedCustomizations[5];
var private transient array<private byte> StatsData;
var private array<private name> VisitedTeleporters;
var private transient name LastVisitedTeleporter;
var private transient int SaveGameId;
var private transient int SaveVersion;
var private int PlotMissionNumber;
var private int ActiveMissionNumber;
var private bool bReceivedDefaultWeapon;
var private transient bool bIsBadassModeSaveGame;
var private bool bIsDlcPlayerClass;
var private transient bool bShowNewPlaythroughNotification;
var private transient bool bAwesomeSkillDisabled;
var private transient array<private int> UsedMarketingCodes;
var private transient array<private int> MarketingCodesNeedingNotification;
var private transient int TotalPlayTime;
var private transient string LastSavedDate;
var private array<private ExpansionData> DLCExpansionData;
var private array<private ChallengeDefinition> ChallengeList;
var private array<private UnloadableDlcChallengeData> UnloadableDlcChallengeList;
var private array<private RegionGameStageData> RegionGameStages;
var private transient array<private UnloadableDlcRegionGameStageData> UnloadableDlcRegionGameStages;
var private array<private WorldDiscoveryData> WorldDiscoveryList;
var private array<private int> BlackMarketUpgrades;
var private Guid SaveGuid;
var private transient array<private int> LevelChallengeUnlocks;
var private transient array<private OneOffLevelChallengeData> OneOffLevelChallengeCompletion;
var private transient int MaxBankSlots;
var private transient array<private BankSlot> BankSlots;
var private transient int NumChallengePrestiges;
var private transient array<private LockoutData> LockoutList;
var private transient array<private UnloadableDlcLockoutData> UnloadableDlcLockoutList;
var private int DLCPlayerClassPackageId;
var private array<private name> FullyExploredAreas;
var private transient int NumGoldenKeysNotified;
var private transient int LastPlaythroughNumber;
var private array<private TrainingMessageDefinition> QueuedTrainingMessages;