diff --git a/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtensions.cs b/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtensions.cs
index e72d7987..2b157956 100644
--- a/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtensions.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Extension/EnumerableExtensions.cs
@@ -11,6 +11,17 @@ namespace Snap.Hutao.Extension;
///
public static class EnumerableExtensions
{
+ ///
+ /// 将源转换为仅包含单个元素的集合
+ ///
+ /// 源的类型
+ /// 源
+ /// 集合
+ public static IEnumerable AsEnumerable(this TSource source)
+ {
+ yield return source;
+ }
+
///
/// 计数
///
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Avatar.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Avatar.cs
index 6cc04c6d..5d60f719 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Avatar.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Avatar.cs
@@ -50,7 +50,7 @@ public class Avatar
/// 稀有度
///
[JsonPropertyName("rarity")]
- public Rarity Rarity { get; set; }
+ public ItemQuality Rarity { get; set; }
///
/// 激活的命座数
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Rarity.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/ItemQuality.cs
similarity index 50%
rename from src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Rarity.cs
rename to src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/ItemQuality.cs
index 0e2c964f..b6af18e7 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Rarity.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/ItemQuality.cs
@@ -5,31 +5,43 @@ namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.Avatar;
///
/// 稀有度
+/// https://github.com/Grasscutters/Grasscutter/blob/development/src/main/java/emu/grasscutter/game/inventory/ItemQuality.java
+///
///
-public enum Rarity
+public enum ItemQuality
{
+ ///
+ /// 无
+ ///
+ QUALITY_NONE = 0,
+
///
/// 一星
///
- Gray = 1,
+ QUALITY_WHITE = 1,
///
/// 二星
///
- Green = 2,
+ QUALITY_GREEN = 2,
///
/// 三星
///
- Blue = 3,
+ QUALITY_BLUE = 3,
///
/// 四星
///
- Purple = 4,
+ QUALITY_PURPLE = 4,
///
/// 五星
///
- Orange = 5,
+ QUALITY_ORANGE = 5,
+
+ ///
+ /// 限定五星
+ ///
+ QUALITY_ORANGE_SP = 105,
}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Reliquary.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Reliquary.cs
index eeb7ca0c..ee7ef9c6 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Reliquary.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Reliquary.cs
@@ -38,7 +38,7 @@ public class Reliquary
/// 稀有度
///
[JsonPropertyName("rarity")]
- public Rarity Rarity { get; set; }
+ public ItemQuality Rarity { get; set; }
///
/// 等级
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Weapon.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Weapon.cs
index 37c55474..70819bce 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Weapon.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/Weapon.cs
@@ -38,7 +38,7 @@ public class Weapon
/// 稀有度
///
[JsonPropertyName("rarity")]
- public Rarity Rarity { get; set; }
+ public ItemQuality Rarity { get; set; }
///
/// 等级
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/WeaponType.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/WeaponType.cs
index 154399d3..3709bd1d 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/WeaponType.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/Avatar/WeaponType.cs
@@ -5,31 +5,85 @@ namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.Avatar;
///
/// 武器类型
+/// https://github.com/Grasscutters/Grasscutter/blob/development/src/main/java/emu/grasscutter/game/props/WeaponType.java
///
public enum WeaponType
{
+ ///
+ /// ?
+ ///
+ WEAPON_NONE = 0,
+
///
/// 单手剑
///
- Sword = 1,
+ WEAPON_SWORD_ONE_HAND = 1,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_CROSSBOW = 2,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_STAFF = 3,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_DOUBLE_DAGGER = 4,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_KATANA = 5,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_SHURIKEN = 6,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_STICK = 7,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_SPEAR = 8,
+
+ ///
+ /// ?
+ ///
+ [Obsolete("尚未发现使用")]
+ WEAPON_SHIELD_SMALL = 9,
///
/// 法器
///
- Catalyst = 10,
+ WEAPON_CATALYST = 10,
///
/// 双手剑
///
- Claymore = 11,
+ WEAPON_CLAYMORE = 11,
///
/// 弓
///
- Bow = 12,
+ WEAPON_BOW = 12,
///
/// 长柄武器
///
- Polearm = 13,
+ WEAPON_POLE = 13,
}
\ No newline at end of file