/**
* 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 System.ComponentModel;
using Newtonsoft.Json;
namespace GrasscutterTools.GOOD
{
///
/// Weapon data representation
/// Doc: https://frzyc.github.io/genshin-optimizer/#/doc
/// Modified from https://github.com/Andrewthe13th/Inventory_Kamera/blob/master/InventoryKamera/game/Weapon.cs
///
public class Weapon
{
///
/// e.g. "CrescentPike"
///
[JsonProperty("key")]
public string Name { get; set; }
///
/// 1-90 inclusive
///
[JsonProperty("level")]
public int Level { get; set; }
///
/// 0-6 inclusive. need to disambiguate 80/90 or 80/80
///
[JsonProperty("ascension")]
public int AscensionLevel { get; set; }
///
/// 1-5 inclusive
///
[JsonProperty("refinement")]
public int RefinementLevel { get; set; }
///
/// where "" means not equipped.
///
[JsonProperty("location")]
[DefaultValue("")]
public string EquippedCharacter { get; set; }
///
/// Whether the weapon is locked in game.
///
[JsonProperty("lock")]
public bool Lock { get; set; }
}
}