1
0
mirror of https://github.com/wangdage12/Snap.Hutao.git synced 2026-02-18 02:42:15 +08:00

Add files via upload

This commit is contained in:
wangdage12
2025-12-02 18:21:25 +08:00
committed by GitHub
parent c1a1871284
commit 3538665bc6

View File

@@ -1,268 +1,270 @@
// Copyright (c) DGP Studio. All rights reserved. // Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license. // Licensed under the MIT license.
using Snap.Hutao.Model.Primitive; using Snap.Hutao.Model.Primitive;
using System.Collections.Frozen; using System.Collections.Frozen;
using System.Collections.Immutable; using System.Collections.Immutable;
namespace Snap.Hutao.Model.Metadata.Avatar; namespace Snap.Hutao.Model.Metadata.Avatar;
internal static class AvatarIds internal static class AvatarIds
{ {
// 此处的变量名称以 UI_AvatarIcon 为准 // 此处的变量名称以 UI_AvatarIcon 为准
public static readonly AvatarId Ayaka = 10000002; public static readonly AvatarId Ayaka = 10000002;
public static readonly AvatarId Qin = 10000003; public static readonly AvatarId Qin = 10000003;
public static readonly AvatarId PlayerBoy = 10000005; public static readonly AvatarId PlayerBoy = 10000005;
public static readonly AvatarId Lisa = 10000006; public static readonly AvatarId Lisa = 10000006;
public static readonly AvatarId PlayerGirl = 10000007; public static readonly AvatarId PlayerGirl = 10000007;
public static readonly AvatarId Barbara = 10000014; public static readonly AvatarId Barbara = 10000014;
public static readonly AvatarId Kaeya = 10000015; public static readonly AvatarId Kaeya = 10000015;
public static readonly AvatarId Diluc = 10000016; public static readonly AvatarId Diluc = 10000016;
public static readonly AvatarId Razor = 10000020; public static readonly AvatarId Razor = 10000020;
public static readonly AvatarId Ambor = 10000021; public static readonly AvatarId Ambor = 10000021;
public static readonly AvatarId Venti = 10000022; public static readonly AvatarId Venti = 10000022;
public static readonly AvatarId Xiangling = 10000023; public static readonly AvatarId Xiangling = 10000023;
public static readonly AvatarId Beidou = 10000024; public static readonly AvatarId Beidou = 10000024;
public static readonly AvatarId Xingqiu = 10000025; public static readonly AvatarId Xingqiu = 10000025;
public static readonly AvatarId Xiao = 10000026; public static readonly AvatarId Xiao = 10000026;
public static readonly AvatarId Ningguang = 10000027; public static readonly AvatarId Ningguang = 10000027;
public static readonly AvatarId Klee = 10000029; public static readonly AvatarId Klee = 10000029;
public static readonly AvatarId Zhongli = 10000030; public static readonly AvatarId Zhongli = 10000030;
public static readonly AvatarId Fischl = 10000031; public static readonly AvatarId Fischl = 10000031;
public static readonly AvatarId Bennett = 10000032; public static readonly AvatarId Bennett = 10000032;
public static readonly AvatarId Tartaglia = 10000033; public static readonly AvatarId Tartaglia = 10000033;
public static readonly AvatarId Noel = 10000034; public static readonly AvatarId Noel = 10000034;
public static readonly AvatarId Qiqi = 10000035; public static readonly AvatarId Qiqi = 10000035;
public static readonly AvatarId Chongyun = 10000036; public static readonly AvatarId Chongyun = 10000036;
public static readonly AvatarId Ganyu = 10000037; public static readonly AvatarId Ganyu = 10000037;
public static readonly AvatarId Albedo = 10000038; public static readonly AvatarId Albedo = 10000038;
public static readonly AvatarId Diona = 10000039; public static readonly AvatarId Diona = 10000039;
public static readonly AvatarId Mona = 10000041; public static readonly AvatarId Mona = 10000041;
public static readonly AvatarId Keqing = 10000042; public static readonly AvatarId Keqing = 10000042;
public static readonly AvatarId Sucrose = 10000043; public static readonly AvatarId Sucrose = 10000043;
public static readonly AvatarId Xinyan = 10000044; public static readonly AvatarId Xinyan = 10000044;
public static readonly AvatarId Rosaria = 10000045; public static readonly AvatarId Rosaria = 10000045;
public static readonly AvatarId Hutao = 10000046; public static readonly AvatarId Hutao = 10000046;
public static readonly AvatarId Kazuha = 10000047; public static readonly AvatarId Kazuha = 10000047;
public static readonly AvatarId Feiyan = 10000048; public static readonly AvatarId Feiyan = 10000048;
public static readonly AvatarId Yoimiya = 10000049; public static readonly AvatarId Yoimiya = 10000049;
public static readonly AvatarId Tohma = 10000050; public static readonly AvatarId Tohma = 10000050;
public static readonly AvatarId Eula = 10000051; public static readonly AvatarId Eula = 10000051;
public static readonly AvatarId Shougun = 10000052; public static readonly AvatarId Shougun = 10000052;
public static readonly AvatarId Sayu = 10000053; public static readonly AvatarId Sayu = 10000053;
public static readonly AvatarId Kokomi = 10000054; public static readonly AvatarId Kokomi = 10000054;
public static readonly AvatarId Gorou = 10000055; public static readonly AvatarId Gorou = 10000055;
public static readonly AvatarId Sara = 10000056; public static readonly AvatarId Sara = 10000056;
public static readonly AvatarId Itto = 10000057; public static readonly AvatarId Itto = 10000057;
public static readonly AvatarId Yae = 10000058; public static readonly AvatarId Yae = 10000058;
public static readonly AvatarId Heizo = 10000059; public static readonly AvatarId Heizo = 10000059;
public static readonly AvatarId Yelan = 10000060; public static readonly AvatarId Yelan = 10000060;
public static readonly AvatarId Kirara = 10000061; public static readonly AvatarId Kirara = 10000061;
public static readonly AvatarId Aloy = 10000062; public static readonly AvatarId Aloy = 10000062;
public static readonly AvatarId Shenhe = 10000063; public static readonly AvatarId Shenhe = 10000063;
public static readonly AvatarId Yunjin = 10000064; public static readonly AvatarId Yunjin = 10000064;
public static readonly AvatarId Shinobu = 10000065; public static readonly AvatarId Shinobu = 10000065;
public static readonly AvatarId Ayato = 10000066; public static readonly AvatarId Ayato = 10000066;
public static readonly AvatarId Collei = 10000067; public static readonly AvatarId Collei = 10000067;
public static readonly AvatarId Dori = 10000068; public static readonly AvatarId Dori = 10000068;
public static readonly AvatarId Tighnari = 10000069; public static readonly AvatarId Tighnari = 10000069;
public static readonly AvatarId Nilou = 10000070; public static readonly AvatarId Nilou = 10000070;
public static readonly AvatarId Cyno = 10000071; public static readonly AvatarId Cyno = 10000071;
public static readonly AvatarId Candace = 10000072; public static readonly AvatarId Candace = 10000072;
public static readonly AvatarId Nahida = 10000073; public static readonly AvatarId Nahida = 10000073;
public static readonly AvatarId Layla = 10000074; public static readonly AvatarId Layla = 10000074;
public static readonly AvatarId Wanderer = 10000075; public static readonly AvatarId Wanderer = 10000075;
public static readonly AvatarId Faruzan = 10000076; public static readonly AvatarId Faruzan = 10000076;
public static readonly AvatarId Yaoyao = 10000077; public static readonly AvatarId Yaoyao = 10000077;
public static readonly AvatarId Alhaitham = 10000078; public static readonly AvatarId Alhaitham = 10000078;
public static readonly AvatarId Dehya = 10000079; public static readonly AvatarId Dehya = 10000079;
public static readonly AvatarId Mika = 10000080; public static readonly AvatarId Mika = 10000080;
public static readonly AvatarId Kaveh = 10000081; public static readonly AvatarId Kaveh = 10000081;
public static readonly AvatarId Baizhuer = 10000082; public static readonly AvatarId Baizhuer = 10000082;
public static readonly AvatarId Lynette = 10000083; public static readonly AvatarId Lynette = 10000083;
public static readonly AvatarId Lyney = 10000084; public static readonly AvatarId Lyney = 10000084;
public static readonly AvatarId Freminet = 10000085; public static readonly AvatarId Freminet = 10000085;
public static readonly AvatarId Wriothesley = 10000086; public static readonly AvatarId Wriothesley = 10000086;
public static readonly AvatarId Neuvillette = 10000087; public static readonly AvatarId Neuvillette = 10000087;
public static readonly AvatarId Charlotte = 10000088; public static readonly AvatarId Charlotte = 10000088;
public static readonly AvatarId Furina = 10000089; public static readonly AvatarId Furina = 10000089;
public static readonly AvatarId Chevreuse = 10000090; public static readonly AvatarId Chevreuse = 10000090;
public static readonly AvatarId Navia = 10000091; public static readonly AvatarId Navia = 10000091;
public static readonly AvatarId Gaming = 10000092; public static readonly AvatarId Gaming = 10000092;
public static readonly AvatarId Xianyun = 10000093; public static readonly AvatarId Xianyun = 10000093;
public static readonly AvatarId Chiori = 10000094; public static readonly AvatarId Chiori = 10000094;
public static readonly AvatarId Sigewinne = 10000095; public static readonly AvatarId Sigewinne = 10000095;
public static readonly AvatarId Arlecchino = 10000096; public static readonly AvatarId Arlecchino = 10000096;
public static readonly AvatarId Sethos = 10000097; public static readonly AvatarId Sethos = 10000097;
public static readonly AvatarId Clorinde = 10000098; public static readonly AvatarId Clorinde = 10000098;
public static readonly AvatarId Emilie = 10000099; public static readonly AvatarId Emilie = 10000099;
public static readonly AvatarId Kachina = 10000100; public static readonly AvatarId Kachina = 10000100;
public static readonly AvatarId Kinich = 10000101; public static readonly AvatarId Kinich = 10000101;
public static readonly AvatarId Mualani = 10000102; public static readonly AvatarId Mualani = 10000102;
public static readonly AvatarId Xilonen = 10000103; public static readonly AvatarId Xilonen = 10000103;
public static readonly AvatarId Chasca = 10000104; public static readonly AvatarId Chasca = 10000104;
public static readonly AvatarId Olorun = 10000105; public static readonly AvatarId Olorun = 10000105;
public static readonly AvatarId Mavuika = 10000106; public static readonly AvatarId Mavuika = 10000106;
public static readonly AvatarId Citlali = 10000107; public static readonly AvatarId Citlali = 10000107;
public static readonly AvatarId Lanyan = 10000108; public static readonly AvatarId Lanyan = 10000108;
public static readonly AvatarId Mizuki = 10000109; public static readonly AvatarId Mizuki = 10000109;
public static readonly AvatarId Iansan = 10000110; public static readonly AvatarId Iansan = 10000110;
public static readonly AvatarId Varesa = 10000111; public static readonly AvatarId Varesa = 10000111;
public static readonly AvatarId Escoffier = 10000112; public static readonly AvatarId Escoffier = 10000112;
public static readonly AvatarId Ifa = 10000113; public static readonly AvatarId Ifa = 10000113;
public static readonly AvatarId Skirk = 10000114; public static readonly AvatarId Skirk = 10000114;
public static readonly AvatarId Dahlia = 10000115; public static readonly AvatarId Dahlia = 10000115;
public static readonly AvatarId Ineffa = 10000116; public static readonly AvatarId Ineffa = 10000116;
public static readonly AvatarId MannequinBoy = 10000117; public static readonly AvatarId MannequinBoy = 10000117;
public static readonly AvatarId MannequinGirl = 10000118; public static readonly AvatarId MannequinGirl = 10000118;
public static readonly AvatarId Lauma = 10000119; public static readonly AvatarId Lauma = 10000119;
public static readonly AvatarId Flins = 10000120; public static readonly AvatarId Flins = 10000120;
public static readonly AvatarId Aino = 10000121; public static readonly AvatarId Aino = 10000121;
public static readonly AvatarId Nefer = 10000122; public static readonly AvatarId Nefer = 10000122;
public static readonly AvatarId Durin = 10000123;
private static readonly FrozenSet<AvatarId> StandardWishIds = public static readonly AvatarId Jahoda = 10000124;
[
Qin, private static readonly FrozenSet<AvatarId> StandardWishIds =
Diluc, [
Mona, Qin,
Keqing, Diluc,
Qiqi, Mona,
Tighnari, Keqing,
Dehya, Qiqi,
Mizuki, Tighnari,
Lisa, Dehya,
Ambor, Mizuki,
Kaeya, Lisa,
Aloy, Ambor,
]; Kaeya,
Aloy,
private static readonly FrozenSet<AvatarId> GnosisAvatars = ];
[
Venti, private static readonly FrozenSet<AvatarId> GnosisAvatars =
Zhongli, [
Shougun, Venti,
Nahida, Zhongli,
Mavuika, Shougun,
]; Nahida,
Mavuika,
private static readonly FrozenSet<AvatarId> MasterAvatars = ];
[
PlayerBoy, private static readonly FrozenSet<AvatarId> MasterAvatars =
PlayerGirl, [
MannequinBoy, PlayerBoy,
MannequinGirl, PlayerGirl,
]; MannequinBoy,
MannequinGirl,
public static bool IsStandardWish(AvatarId avatarId) ];
{
return StandardWishIds.Contains(avatarId); public static bool IsStandardWish(AvatarId avatarId)
} {
return StandardWishIds.Contains(avatarId);
public static bool UsesGnosis(AvatarId avatarId) }
{
return GnosisAvatars.Contains(avatarId); public static bool UsesGnosis(AvatarId avatarId)
} {
return GnosisAvatars.Contains(avatarId);
public static bool IsPlayer(AvatarId avatarId) }
{
return MasterAvatars.Contains(avatarId); public static bool IsPlayer(AvatarId avatarId)
} {
return MasterAvatars.Contains(avatarId);
public static ImmutableDictionary<AvatarId, Avatar> WithPlayers(ImmutableDictionary<AvatarId, Avatar> idAvatarMap) }
{
ImmutableDictionary<AvatarId, Avatar>.Builder builder = ImmutableDictionary.CreateBuilder<AvatarId, Avatar>(); public static ImmutableDictionary<AvatarId, Avatar> WithPlayers(ImmutableDictionary<AvatarId, Avatar> idAvatarMap)
{
builder.AddRange(idAvatarMap); ImmutableDictionary<AvatarId, Avatar>.Builder builder = ImmutableDictionary.CreateBuilder<AvatarId, Avatar>();
builder.Add(PlayerBoy, new()
{ builder.AddRange(idAvatarMap);
Name = SH.ModelMetadataAvatarPlayerName, builder.Add(PlayerBoy, new()
Icon = "UI_AvatarIcon_PlayerBoy", {
SideIcon = "UI_AvatarIcon_Side_PlayerBoy", Name = SH.ModelMetadataAvatarPlayerName,
Quality = Intrinsic.QualityType.QUALITY_ORANGE, Icon = "UI_AvatarIcon_PlayerBoy",
Id = PlayerBoy, SideIcon = "UI_AvatarIcon_Side_PlayerBoy",
PromoteId = default, Quality = Intrinsic.QualityType.QUALITY_ORANGE,
Sort = default, Id = PlayerBoy,
Body = default, PromoteId = default,
Description = default!, Sort = default,
BeginTime = default, Body = default,
Weapon = default, Description = default!,
BaseValue = default!, BeginTime = default,
GrowCurves = default!, Weapon = default,
SkillDepot = default!, BaseValue = default!,
FetterInfo = default!, GrowCurves = default!,
Costumes = default, SkillDepot = default!,
CultivationItems = default, FetterInfo = default!,
NameCard = default!, Costumes = default,
}); CultivationItems = default,
builder.Add(PlayerGirl, new() NameCard = default!,
{ });
Name = SH.ModelMetadataAvatarPlayerName, builder.Add(PlayerGirl, new()
Icon = "UI_AvatarIcon_PlayerGirl", {
SideIcon = "UI_AvatarIcon_Side_PlayerGirl", Name = SH.ModelMetadataAvatarPlayerName,
Quality = Intrinsic.QualityType.QUALITY_ORANGE, Icon = "UI_AvatarIcon_PlayerGirl",
Id = PlayerGirl, SideIcon = "UI_AvatarIcon_Side_PlayerGirl",
PromoteId = default, Quality = Intrinsic.QualityType.QUALITY_ORANGE,
Sort = default, Id = PlayerGirl,
Body = default, PromoteId = default,
Description = default!, Sort = default,
BeginTime = default, Body = default,
Weapon = default, Description = default!,
BaseValue = default!, BeginTime = default,
GrowCurves = default!, Weapon = default,
SkillDepot = default!, BaseValue = default!,
FetterInfo = default!, GrowCurves = default!,
Costumes = default, SkillDepot = default!,
CultivationItems = default, FetterInfo = default!,
NameCard = default!, Costumes = default,
}); CultivationItems = default,
builder.Add(MannequinBoy, new() NameCard = default!,
{ });
Name = "奇偶·男性", builder.Add(MannequinBoy, new()
Icon = "UI_AvatarIcon_MannequinBoy", {
SideIcon = "UI_AvatarIcon_Side_MannequinBoy", Name = "奇偶·男性",
Quality = Intrinsic.QualityType.QUALITY_ORANGE_SP, Icon = "UI_AvatarIcon_MannequinBoy",
Id = MannequinBoy, SideIcon = "UI_AvatarIcon_Side_MannequinBoy",
PromoteId = default, Quality = Intrinsic.QualityType.QUALITY_ORANGE_SP,
Sort = default, Id = MannequinBoy,
Body = default, PromoteId = default,
Description = default!, Sort = default,
BeginTime = default, Body = default,
Weapon = default, Description = default!,
BaseValue = default!, BeginTime = default,
GrowCurves = default!, Weapon = default,
SkillDepot = default!, BaseValue = default!,
FetterInfo = default!, GrowCurves = default!,
Costumes = default, SkillDepot = default!,
CultivationItems = default, FetterInfo = default!,
NameCard = default!, Costumes = default,
}); CultivationItems = default,
builder.Add(MannequinGirl, new() NameCard = default!,
{ });
Name = "奇偶·女性", builder.Add(MannequinGirl, new()
Icon = "UI_AvatarIcon_MannequinGirl", {
SideIcon = "UI_AvatarIcon_Side_MannequinGirl", Name = "奇偶·女性",
Quality = Intrinsic.QualityType.QUALITY_ORANGE_SP, Icon = "UI_AvatarIcon_MannequinGirl",
Id = MannequinGirl, SideIcon = "UI_AvatarIcon_Side_MannequinGirl",
PromoteId = default, Quality = Intrinsic.QualityType.QUALITY_ORANGE_SP,
Sort = default, Id = MannequinGirl,
Body = default, PromoteId = default,
Description = default!, Sort = default,
BeginTime = default, Body = default,
Weapon = default, Description = default!,
BaseValue = default!, BeginTime = default,
GrowCurves = default!, Weapon = default,
SkillDepot = default!, BaseValue = default!,
FetterInfo = default!, GrowCurves = default!,
Costumes = default, SkillDepot = default!,
CultivationItems = default, FetterInfo = default!,
NameCard = default!, Costumes = default,
}); CultivationItems = default,
NameCard = default!,
return builder.ToImmutable(); });
}
return builder.ToImmutable();
}
} }