/** * 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 /// internal 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; } } }