* Fix item repair cost formula * Add "RequestUpdateAvailableFreeLoadout" function (WIP) * Fix item sell formula * Fix item stack split on sell * Fix contract progression counting for objectives other than owned items * Refactor balance into a proper struct * Separate and update Season 2 and Season 3 data
142 lines
5.3 KiB
C#
142 lines
5.3 KiB
C#
using System.Text.Json.Serialization;
|
|
|
|
public class TitleDataBlueprintInfo {
|
|
[JsonPropertyName("Name")]
|
|
public string Name { get; set; }
|
|
[JsonPropertyName("ItemShopsCraftingData")]
|
|
public Dictionary<string, TitleDataItemShopsCraftingData> ItemShopsCraftingData { get; set; }
|
|
[JsonPropertyName("AmountPerPurchase")]
|
|
public int AmountPerPurchase { get; set; }
|
|
[JsonPropertyName("DurabilityMax")]
|
|
public int DurabilityMax { get; set; }
|
|
[JsonPropertyName("DurabilityBrokenScrappingReturnModifier")]
|
|
public double DurabilityBrokenScrappingReturnModifier { get; set; }
|
|
[JsonPropertyName("RepairCostMaxDurability")]
|
|
public int RepairCostMaxDurability { get; set; }
|
|
[JsonPropertyName("RepairCostBase")]
|
|
public int RepairCostBase { get; set; }
|
|
[JsonPropertyName("RepairCostModifierBroken")]
|
|
public int RepairCostModifierBroken { get; set; }
|
|
[JsonPropertyName("ItemWeight")]
|
|
public double ItemWeight { get; set; }
|
|
[JsonPropertyName("ScrappingReturnDefault")]
|
|
public int ScrappingReturnDefault { get; set; }
|
|
[JsonPropertyName("OverrideScrappingReturns")]
|
|
public int OverrideScrappingReturns { get; set; }
|
|
[JsonPropertyName("OverrideScrappingReputation")]
|
|
public int OverrideScrappingReputation { get; set; }
|
|
[JsonPropertyName("ScrappingFactionProgressionIncrement")]
|
|
public int ScrappingFactionProgressionIncrement { get; set; }
|
|
[JsonPropertyName("UnlockData")]
|
|
public TitleDataItemUnlockData UnlockData { get; set; }
|
|
[JsonPropertyName("ModID")]
|
|
public int? ModID { get; set; }
|
|
[JsonPropertyName("AlienForgeCatalystToUpgradedItemMap")]
|
|
public TitleDataItemAlienForgeCatalystToUpgradedItemMap AlienForgeCatalystToUpgradedItemMap { get; set; }
|
|
[JsonPropertyName("Rarity")]
|
|
public int Rarity { get; set; }
|
|
[JsonPropertyName("Kind")]
|
|
public string Kind { get; set; }
|
|
[JsonPropertyName("MaxAmountPerStack")]
|
|
public int MaxAmountPerStack { get; set; }
|
|
}
|
|
|
|
public class TitleDataItemShopsCraftingData {
|
|
[JsonPropertyName("ItemRecipeIngredients")]
|
|
public List<TitleDataItemRecipeCostType> ItemRecipeIngredients { get; set; }
|
|
[JsonPropertyName("UpgradeTimeMinutes")]
|
|
public int UpgradeTimeMinutes { get; set; }
|
|
[JsonPropertyName("UpgradeTimeSeconds")]
|
|
public int UpgradeTimeSeconds { get; set; }
|
|
[JsonPropertyName("SkipCraftingMaxCost")]
|
|
public int SkipCraftingMaxCost { get; set; }
|
|
[JsonPropertyName("SkipOptionalCraftingMaxCost")]
|
|
public int SkipOptionalCraftingMaxCost { get; set; }
|
|
}
|
|
|
|
public class TitleDataItemRecipeCostType {
|
|
[JsonPropertyName("Item")]
|
|
public string Currency { get; set; }
|
|
[JsonPropertyName("Amount")]
|
|
public int Amount { get; set; }
|
|
}
|
|
|
|
public class TitleDataItemUnlockData {
|
|
[JsonPropertyName("FactionUnlockLevel")]
|
|
public int FactionUnlockLevel { get; set; }
|
|
[JsonPropertyName("ContractLockPurchase")]
|
|
public string ContractLockPurchase { get; set; }
|
|
[JsonPropertyName("ContractLockCrafting")]
|
|
public string ContractLockCrafting { get; set; }
|
|
}
|
|
|
|
public class TitleDataItemAlienForgeCatalystToUpgradedItemMap {
|
|
[JsonPropertyName("Catalyst")]
|
|
public string Catalyst { get; set; }
|
|
[JsonPropertyName("NextItem")]
|
|
public string NextItem { get; set; }
|
|
}
|
|
|
|
/*
|
|
enum class EYItemType : uint8_t
|
|
{
|
|
EYItemType__None = 0,
|
|
EYItemType__Device = 1,
|
|
EYItemType__Ability = 2,
|
|
EYItemType__Kit = 3,
|
|
EYItemType__Consumable = 4,
|
|
EYItemType__Mod = 5,
|
|
EYItemType__Blueprint = 6,
|
|
EYItemType__Material = 7,
|
|
EYItemType__Miscellaneous = 8,
|
|
EYItemType__Currency = 9,
|
|
EYItemType__Vanity = 10,
|
|
EYItemType__Experience = 11,
|
|
EYItemType__Lore = 12,
|
|
EYItemType__Vehicle = 13,
|
|
EYItemType__Ammo = 14,
|
|
EYItemType__Upgrade = 15,
|
|
EYItemType__Collectible = 16,
|
|
EYItemType__QuestItem = 17,
|
|
EYItemType__Shield = 18,
|
|
EYItemType__ProspectorBadge = 19,
|
|
EYItemType__TechTreeNode = 20,
|
|
EYItemType__PlayerQuartersLevel = 21,
|
|
EYItemType__PassiveGenerator = 22,
|
|
EYItemType__Bag = 23,
|
|
EYItemType__Helmet = 24,
|
|
EYItemType__Key = 25,
|
|
EYItemType__MeleeWeapon = 26,
|
|
EYItemType__All = 27,
|
|
EYItemType__MAX = 28
|
|
};
|
|
|
|
enum class EYItemOriginType : uint8_t
|
|
{
|
|
EYItemOriginType__Undefined = 0,
|
|
EYItemOriginType__Contract = 1,
|
|
EYItemOriginType__Craft = 2,
|
|
EYItemOriginType__Creature = 3,
|
|
EYItemOriginType__Debug = 4,
|
|
EYItemOriginType__FortunaPass = 5,
|
|
EYItemOriginType__FTUE = 6,
|
|
EYItemOriginType__Generator = 7,
|
|
EYItemOriginType__Insurance = 8,
|
|
EYItemOriginType__MapContainerLoot = 9,
|
|
EYItemOriginType__MapPickupLoot = 10,
|
|
EYItemOriginType__MatchSplitStack = 11,
|
|
EYItemOriginType__MatchUnknown = 12,
|
|
EYItemOriginType__PlayFabDashboard = 13,
|
|
EYItemOriginType__PurchaseICA = 14,
|
|
EYItemOriginType__PurchaseKorolev = 15,
|
|
EYItemOriginType__PurchaseOsiris = 16,
|
|
EYItemOriginType__PurchaseQuickShop = 17,
|
|
EYItemOriginType__Retention = 18,
|
|
EYItemOriginType__StationSplitStack = 19,
|
|
EYItemOriginType__TocMigration = 20,
|
|
EYItemOriginType__TwitchDrop = 21,
|
|
EYItemOriginType__Uplink = 22,
|
|
EYItemOriginType__WeaponAttachment = 23,
|
|
EYItemOriginType__EYItemOriginType_MAX = 24
|
|
};
|
|
*/ |