/**
* Grasscutter Tools
* Copyright (C) 2022 jie65535
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published
* by the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*
**/
using Newtonsoft.Json;
namespace GrasscutterTools.GOOD
{
///
/// Artifact data representation
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/game/Artifact.cs
///
internal class Artifact
{
///
/// e.g. "GladiatorsFinale"
///
[JsonProperty("setKey")]
public string SetName { get; set; }
///
/// //e.g. "plume"
/// type SlotKey = "flower" | "plume" | "sands" | "goblet" | "circlet"
///
[JsonProperty("slotKey")]
public string GearSlot { get; set; }
///
/// 1-5 inclusive
///
[JsonProperty("rarity")]
public int Rarity { get; set; }
///
/// mainStatKey
///
[JsonProperty("mainStatKey")]
public string MainStat { get; set; }
///
/// 0-20 inclusive
///
[JsonProperty("level")]
public int Level { get; set; }
///
/// substats
///
[JsonProperty("substats")]
public SubStat[] SubStats { get; set; }
///
/// where "" means not equipped.
///
[JsonProperty("location")]
public string EquippedCharacter { get; set; }
///
/// Whether the artifact is locked in game.
///
[JsonProperty("lock")]
public bool Lock { get; set; }
public struct SubStat
{
///
/// e.g. "critDMG_"
///
[JsonProperty("key")]
public string Stat { get; set; }
///
/// e.g. 19.4
///
[JsonProperty("value")]
public double Value { get; set; }
}
}
}