diff --git a/Core/Config/Attributes/ConfigCollectionAttribute.cs b/Core/Config/Attributes/ConfigCollectionAttribute.cs new file mode 100644 index 0000000..30f3808 --- /dev/null +++ b/Core/Config/Attributes/ConfigCollectionAttribute.cs @@ -0,0 +1,12 @@ +namespace Core.Config.Attributes; + +[AttributeUsage(AttributeTargets.Class, AllowMultiple = false)] +internal class ConfigCollectionAttribute : Attribute +{ + public string Path { get; } + + public ConfigCollectionAttribute(string path) + { + Path = path; + } +} diff --git a/Core/Config/ConfigCollection.cs b/Core/Config/ConfigCollection.cs new file mode 100644 index 0000000..4d6549e --- /dev/null +++ b/Core/Config/ConfigCollection.cs @@ -0,0 +1,49 @@ +using System.Collections.Immutable; +using System.Diagnostics.CodeAnalysis; +using System.Text.Json; + +namespace Core.Config; +public class ConfigCollection +{ + private readonly ImmutableDictionary _configs; + + public ConfigCollection(JsonDocument json, Type type) + { + _configs = LoadConfigs(json, type); + } + + public int Count => _configs.Count; + + public TConfig At(int index) where TConfig : IConfig + { + return (TConfig)_configs.Values.ElementAt(index); + } + + public IEnumerable Enumerate() where TConfig : IConfig + { + return _configs.Values.Cast(); + } + + public bool TryGet(int identifier, [NotNullWhen(true)] out TConfig? config) where TConfig : IConfig + { + bool result = _configs.TryGetValue(identifier, out IConfig? cfg); + + config = (TConfig?)cfg; + return result; + } + + private static ImmutableDictionary LoadConfigs(JsonDocument json, Type type) + { + var builder = ImmutableDictionary.CreateBuilder(); + + foreach (JsonElement element in json.RootElement.EnumerateArray()) + { + if (element.ValueKind != JsonValueKind.Object) throw new InvalidDataException($"LoadConfigs: expected array of {JsonValueKind.Object}, got array of {element.ValueKind}"); + + IConfig configItem = (element.Deserialize(type) as IConfig)!; + builder.Add(configItem.Identifier, configItem); + } + + return builder.ToImmutable(); + } +} diff --git a/Core/Config/ConfigManager.cs b/Core/Config/ConfigManager.cs new file mode 100644 index 0000000..9ec99fc --- /dev/null +++ b/Core/Config/ConfigManager.cs @@ -0,0 +1,57 @@ +using System.Collections.Immutable; +using System.Reflection; +using Core.Config.Attributes; +using Core.Resources; +using Microsoft.Extensions.Logging; + +namespace Core.Config; +public class ConfigManager +{ + private readonly ImmutableDictionary _collectionsByEnum; + private readonly ImmutableDictionary _collectionsByType; + + public ConfigManager(ILogger logger, IResourceProvider resourceProvider) + { + (_collectionsByEnum, _collectionsByType) = LoadConfigCollections(resourceProvider); + logger.LogInformation("Loaded {count} config collections", _collectionsByEnum.Count); + } + + public ConfigCollection GetCollection() + { + return _collectionsByType[typeof(TConfigType)]; + } + + public ConfigCollection GetCollection(ConfigType type) + { + return _collectionsByEnum[type]; + } + + public TConfig? GetConfig(int id) where TConfig : IConfig + { + if (_collectionsByType[typeof(TConfig)].TryGet(id, out TConfig? config)) + return config; + + return default; + } + + private static (ImmutableDictionary, ImmutableDictionary) LoadConfigCollections(IResourceProvider resourceProvider) + { + var builderByEnum = ImmutableDictionary.CreateBuilder(); + var builderByType = ImmutableDictionary.CreateBuilder(); + + IEnumerable types = Assembly.GetExecutingAssembly().GetTypes() + .Where(type => type.IsAssignableTo(typeof(IConfig)) && !type.IsAbstract); + + foreach (Type type in types) + { + ConfigCollectionAttribute? attribute = type.GetCustomAttribute(); + if (attribute == null) continue; + + ConfigCollection collection = new(resourceProvider.GetJsonResource("data/config/" + attribute.Path), type); + builderByEnum.Add(collection.At(0).Type, collection); + builderByType.Add(collection.At(0).GetType(), collection); + } + + return (builderByEnum.ToImmutable(), builderByType.ToImmutable()); + } +} diff --git a/Core/Config/ConfigType.cs b/Core/Config/ConfigType.cs new file mode 100644 index 0000000..86f52da --- /dev/null +++ b/Core/Config/ConfigType.cs @@ -0,0 +1,5 @@ +namespace Core.Config; +public enum ConfigType +{ + RoleInfo +} diff --git a/Core/Config/IConfig.cs b/Core/Config/IConfig.cs new file mode 100644 index 0000000..03605cb --- /dev/null +++ b/Core/Config/IConfig.cs @@ -0,0 +1,6 @@ +namespace Core.Config; +public interface IConfig +{ + ConfigType Type { get; } + int Identifier { get; } +} diff --git a/Core/Config/RoleInfoConfig.cs b/Core/Config/RoleInfoConfig.cs new file mode 100644 index 0000000..2afb336 --- /dev/null +++ b/Core/Config/RoleInfoConfig.cs @@ -0,0 +1,69 @@ +using Core.Config.Attributes; + +namespace Core.Config; + +[ConfigCollection("role/roleinfo.json")] +public class RoleInfoConfig : IConfig +{ + public ConfigType Type => ConfigType.RoleInfo; + + public int Identifier => Id; + + public int Id { get; set; } + public int QualityId { get; set; } + public int RoleType { get; set; } + public bool IsTrial { get; set; } + public string Name { get; set; } = string.Empty; + public string NickName { get; set; } = string.Empty; + public string Introduction { get; set; } = string.Empty; + public int ParentId { get; set; } + public int Priority { get; set; } + public int PropertyId { get; set; } + public List ShowProperty { get; set; } = []; + public int ElementId { get; set; } + public string RoleHeadIconLarge { get; set; } = string.Empty; + public string RoleHeadIconBig { get; set; } = string.Empty; + public string Card { get; set; } = string.Empty; + public string RoleHeadIcon { get; set; } = string.Empty; + public string FormationRoleCard { get; set; } = string.Empty; + public string RoleStand { get; set; } = string.Empty; + public int MeshId { get; set; } + public int UiMeshId { get; set; } + public string RoleBody { get; set; } = string.Empty; + public int BreachModel { get; set; } + public int SpecialEnergyBarId { get; set; } + public string CameraConfig { get; set; } = string.Empty; + public int CameraFloatHeight { get; set; } + public int EntityProperty { get; set; } + public int MaxLevel { get; set; } + public int LevelConsumeId { get; set; } + public int BreachId { get; set; } + public int SkillId { get; set; } + public int SkillTreeGroupId { get; set; } + public int ResonanceId { get; set; } + public int ResonantChainGroupId { get; set; } + public bool IsShow { get; set; } + public int InitWeaponItemId { get; set; } + public int WeaponType { get; set; } + public string SkillDAPath { get; set; } = string.Empty; + public string SkillLockDAPath { get; set; } = string.Empty; + public string UiScenePerformanceABP { get; set; } = string.Empty; + public int LockOnDefaultId { get; set; } + public int LockOnLookOnId { get; set; } + public string SkillEffectDA { get; set; } = string.Empty; + public string FootStepState { get; set; } = string.Empty; + public int PartyId { get; set; } + public string AttributesDescription { get; set; } = string.Empty; + public string Icon { get; set; } = string.Empty; + public int ItemQualityId { get; set; } + public string ObtainedShowDescription { get; set; } = string.Empty; + public int NumLimit { get; set; } + public bool ShowInBag { get; set; } + public List WeaponScale { get; set; } = []; + public bool Intervene { get; set; } + public string CharacterVoice { get; set; } = string.Empty; + public int TrialRole { get; set; } + public bool IsAim { get; set; } + public int RoleGuide { get; set; } + public int RedDotDisableRule { get; set; } +} diff --git a/Core/Core.csproj b/Core/Core.csproj new file mode 100644 index 0000000..a582e40 --- /dev/null +++ b/Core/Core.csproj @@ -0,0 +1,19 @@ + + + + net8.0 + enable + enable + + + + + PreserveNewest + + + + + + + + diff --git a/Core/Extensions/ServiceCollectionExtensions.cs b/Core/Extensions/ServiceCollectionExtensions.cs new file mode 100644 index 0000000..ada2243 --- /dev/null +++ b/Core/Extensions/ServiceCollectionExtensions.cs @@ -0,0 +1,11 @@ +using Core.Resources; +using Microsoft.Extensions.DependencyInjection; + +namespace Core.Extensions; +public static class ServiceCollectionExtensions +{ + public static IServiceCollection UseLocalResources(this IServiceCollection services) + { + return services.AddSingleton(); + } +} diff --git a/Core/Resources/IResourceProvider.cs b/Core/Resources/IResourceProvider.cs new file mode 100644 index 0000000..97a5e95 --- /dev/null +++ b/Core/Resources/IResourceProvider.cs @@ -0,0 +1,7 @@ +using System.Text.Json; + +namespace Core.Resources; +public interface IResourceProvider +{ + JsonDocument GetJsonResource(string path); +} diff --git a/Core/Resources/LocalResourceProvider.cs b/Core/Resources/LocalResourceProvider.cs new file mode 100644 index 0000000..e8f4b32 --- /dev/null +++ b/Core/Resources/LocalResourceProvider.cs @@ -0,0 +1,11 @@ +using System.Text.Json; + +namespace Core.Resources; +internal class LocalResourceProvider : IResourceProvider +{ + public JsonDocument GetJsonResource(string path) + { + using FileStream fileStream = File.Open(path, FileMode.Open, FileAccess.Read); + return JsonDocument.Parse(fileStream); + } +} diff --git a/Core/data/config/role/roleinfo.json b/Core/data/config/role/roleinfo.json new file mode 100644 index 0000000..d8bd8dd --- /dev/null +++ b/Core/data/config/role/roleinfo.json @@ -0,0 +1,2537 @@ +[ + { + "Id": 1402, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1402_Name", + "NickName": "RoleInfo_1402_NickName", + "Introduction": "FavorRoleInfo_1402_Info", + "ParentId": 0, + "Priority": 4, + "PropertyId": 1402, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_1_UI.T_IconRoleHead256_1_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_1.T_IconRoleHead150_1", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_1_UI.T_IconRoleHead175_1_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_1_UI.T_IconRoleHead80_1_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100001, + "UiMeshId": 100001, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 1, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1402, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1402_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 5001, + "RedDotDisableRule": 0 + }, + { + "Id": 1202, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1202_Name", + "NickName": "RoleInfo_1202_NickName", + "Introduction": "FavorRoleInfo_1202_Info", + "ParentId": 0, + "Priority": 3, + "PropertyId": 1202, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 2, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_2_UI.T_IconRoleHead256_2_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_2.T_IconRoleHead150_2", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_2_UI.T_IconRoleHead175_2_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_2_UI.T_IconRoleHead80_2_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_maxiaofang_UI.T_IconRole_Pile_maxiaofang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100002, + "UiMeshId": 100002, + "RoleBody": "FemaleM", + "BreachModel": 730101, + "SpecialEnergyBarId": 2, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1202, + "SkillId": 1202, + "SkillTreeGroupId": 1202, + "ResonanceId": 1202, + "ResonantChainGroupId": 1202, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21030011, + "WeaponType": 3, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Fire.DA_Fx_UI_UIMap_Character_Fire", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Maxiaofang/R2T1MaxiaofangMd10011/ABP_Performance_Maxiaofang_PC.ABP_Performance_Maxiaofang_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectFire", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1202_UI.T_IconRup_1202_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1202_CharacterVoice", + "TrialRole": 100302, + "IsAim": true, + "RoleGuide": 5002, + "RedDotDisableRule": 0 + }, + { + "Id": 1503, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1503_Name", + "NickName": "RoleInfo_1503_NickName", + "Introduction": "FavorRoleInfo_1503_Info", + "ParentId": 0, + "Priority": 10, + "PropertyId": 1503, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 5, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_3_UI.T_IconRoleHead256_3_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_3.T_IconRoleHead150_3", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_3_UI.T_IconRoleHead175_3_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_3_UI.T_IconRoleHead80_3_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_jueyuan_UI.T_IconRole_Pile_jueyuan_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100003, + "UiMeshId": 100003, + "RoleBody": "FemaleS", + "BreachModel": 730101, + "SpecialEnergyBarId": 3, + "CameraConfig": "10000", + "CameraFloatHeight": -5, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1503, + "SkillId": 1503, + "SkillTreeGroupId": 1503, + "ResonanceId": 1503, + "ResonantChainGroupId": 1503, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21050011, + "WeaponType": 5, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleS/Jueyuan/R2T1JueyuanMd10011/ABP_Performance_Jueyuan_PC.ABP_Performance_Jueyuan_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Boots", + "PartyId": 2, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1503_UI.T_IconRup_1503_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1503_CharacterVoice", + "TrialRole": 100308, + "IsAim": false, + "RoleGuide": 5007, + "RedDotDisableRule": 0 + }, + { + "Id": 1501, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1501_Name", + "NickName": "RoleInfo_1501_NickName", + "Introduction": "FavorRoleInfo_1501_Info", + "ParentId": 0, + "Priority": 1, + "PropertyId": 1501, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 5, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_4_UI.T_IconRoleHead256_4_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_4.T_IconRoleHead150_4", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_4_UI.T_IconRoleHead175_4_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_4_UI.T_IconRoleHead80_4_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujuenan_UI.T_IconRole_Pile_zhujuenan_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100004, + "UiMeshId": 100004, + "RoleBody": "MaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 4, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1501, + "SkillId": 1501, + "SkillTreeGroupId": 1501, + "ResonanceId": 1, + "ResonantChainGroupId": 1, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleM/Nanzhu/R2T1PlayerMaleMd10011/ABP_Performance_PlayerMale_PC.ABP_Performance_PlayerMale_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Boots", + "PartyId": 9, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1502_UI.T_IconRup_1502_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1501_CharacterVoice", + "TrialRole": 100306, + "IsAim": false, + "RoleGuide": 5004, + "RedDotDisableRule": 0 + }, + { + "Id": 1102, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1102_Name", + "NickName": "RoleInfo_1102_NickName", + "Introduction": "FavorRoleInfo_1102_Info", + "ParentId": 0, + "Priority": 12, + "PropertyId": 1102, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 1, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_7_UI.T_IconRoleHead256_7_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_7.T_IconRoleHead150_7", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_7_UI.T_IconRoleHead175_7_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_7_UI.T_IconRoleHead80_7_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_shanhua_UI.T_IconRole_Pile_shanhua_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100005, + "UiMeshId": 100005, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 5, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1102, + "SkillId": 1102, + "SkillTreeGroupId": 1102, + "ResonanceId": 1102, + "ResonantChainGroupId": 1102, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Ice.DA_Fx_UI_UIMap_Character_Ice", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Sanhua/R2T1SanhuaMd10011/ABP_Performance_Sanhua_PC.ABP_Performance_Sanhua_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectIce", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1102_UI.T_IconRup_1102_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1102_CharacterVoice", + "TrialRole": 100304, + "IsAim": false, + "RoleGuide": 5008, + "RedDotDisableRule": 0 + }, + { + "Id": 1601, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1601_Name", + "NickName": "RoleInfo_1601_NickName", + "Introduction": "FavorRoleInfo_1601_Info", + "ParentId": 0, + "Priority": 7, + "PropertyId": 1601, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 6, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_9_UI.T_IconRoleHead256_9_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_9.T_IconRoleHead150_9", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_9_UI.T_IconRoleHead175_9_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_9_UI.T_IconRoleHead80_9_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_taohua_UI.T_IconRole_Pile_taohua_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100009, + "UiMeshId": 100109, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 6, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1601, + "SkillId": 1601, + "SkillTreeGroupId": 1601, + "ResonanceId": 1601, + "ResonantChainGroupId": 1601, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21010011, + "WeaponType": 1, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Dark.DA_Fx_UI_UIMap_Character_Dark", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Taohua/R2T1TaohuaMd10011/ABP_Performance_Taohua_PC.ABP_Performance_Taohua_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectDark", + "FootStepState": "FS_Boots", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1601_UI.T_IconRup_1601_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1601_CharacterVoice", + "TrialRole": 100305, + "IsAim": false, + "RoleGuide": 5006, + "RedDotDisableRule": 0 + }, + { + "Id": 1502, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1502_Name", + "NickName": "RoleInfo_1502_NickName", + "Introduction": "FavorRoleInfo_1502_Info", + "ParentId": 0, + "Priority": 2, + "PropertyId": 1502, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 5, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_5_UI.T_IconRoleHead256_5_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_5.T_IconRoleHead150_5", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_5_UI.T_IconRoleHead175_5_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_5_UI.T_IconRoleHead80_5_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujue_UI.T_IconRole_Pile_zhujue_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100006, + "UiMeshId": 100006, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 4, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1502, + "SkillId": 1501, + "SkillTreeGroupId": 1501, + "ResonanceId": 1, + "ResonantChainGroupId": 1, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Nvzhu/R2T1PlayerFemaleMd10011/ABP_Performance_PlayerFemale_PC.ABP_Performance_PlayerFemale_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Heels", + "PartyId": 9, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1501_UI.T_IconRup_1501_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1502_CharacterVoice", + "TrialRole": 100307, + "IsAim": false, + "RoleGuide": 5005, + "RedDotDisableRule": 0 + }, + { + "Id": 1103, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1103_Name", + "NickName": "RoleInfo_1103_NickName", + "Introduction": "FavorRoleInfo_1103_Info", + "ParentId": 0, + "Priority": 5, + "PropertyId": 1103, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 1, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_6_UI.T_IconRoleHead256_6_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_6.T_IconRoleHead150_6", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_6_UI.T_IconRoleHead175_6_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_6_UI.T_IconRoleHead80_6_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_bailian_UI.T_IconRole_Pile_bailian_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100007, + "UiMeshId": 100007, + "RoleBody": "FemaleXL", + "BreachModel": 730100, + "SpecialEnergyBarId": 8, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1103, + "SkillId": 1103, + "SkillTreeGroupId": 1103, + "ResonanceId": 1103, + "ResonantChainGroupId": 1103, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21050011, + "WeaponType": 5, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Ice.DA_Fx_UI_UIMap_Character_Ice", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleXL/BaiLian/R2T1BaiLianMd10011/ABP_Performance_BaiLian_PC.ABP_Performance_BaiLian_PC_C", + "LockOnDefaultId": 1103, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectIce", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1103_UI.T_IconRup_1103_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1103_CharacterVoice", + "TrialRole": 100309, + "IsAim": false, + "RoleGuide": 5009, + "RedDotDisableRule": 0 + }, + { + "Id": 1203, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1203_Name", + "NickName": "RoleInfo_1203_NickName", + "Introduction": "FavorRoleInfo_1203_Info", + "ParentId": 0, + "Priority": 8, + "PropertyId": 1203, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 2, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_8_UI.T_IconRoleHead256_8_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_8.T_IconRoleHead150_8", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_8_UI.T_IconRoleHead175_8_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_8_UI.T_IconRoleHead80_8_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_anke_UI.T_IconRole_Pile_anke_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100008, + "UiMeshId": 100008, + "RoleBody": "FemaleS", + "BreachModel": 730101, + "SpecialEnergyBarId": 120300, + "CameraConfig": "10000", + "CameraFloatHeight": -5, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1203, + "SkillId": 1203, + "SkillTreeGroupId": 1203, + "ResonanceId": 1203, + "ResonantChainGroupId": 1203, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21050011, + "WeaponType": 5, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Fire.DA_Fx_UI_UIMap_Character_Fire", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleS/Anke/R2T1AnkeMd10011/ABP_Performance_Anke_PC.ABP_Performance_Anke_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectFire", + "FootStepState": "FS_Heels", + "PartyId": 3, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1203_UI.T_IconRup_1203_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1203_CharacterVoice", + "TrialRole": 100310, + "IsAim": false, + "RoleGuide": 5010, + "RedDotDisableRule": 0 + }, + { + "Id": 1602, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1602_Name", + "NickName": "RoleInfo_1602_NickName", + "Introduction": "FavorRoleInfo_1602_Info", + "ParentId": 0, + "Priority": 14, + "PropertyId": 1602, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 6, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_10_UI.T_IconRoleHead256_10_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_10.T_IconRoleHead150_10", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_10_UI.T_IconRoleHead175_10_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_10_UI.T_IconRoleHead80_10_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_micai_UI.T_IconRole_Pile_micai_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100010, + "UiMeshId": 100010, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 7, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1602, + "SkillId": 1602, + "SkillTreeGroupId": 1602, + "ResonanceId": 1602, + "ResonantChainGroupId": 1602, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Dark.DA_Fx_UI_UIMap_Character_Dark", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Micai/R2T1MicaiMd10011/ABP_Performance_Micai_PC.ABP_Performance_Micai_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectDark", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1602_UI.T_IconRup_1602_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1602_CharacterVoice", + "TrialRole": 100311, + "IsAim": false, + "RoleGuide": 5011, + "RedDotDisableRule": 0 + }, + { + "Id": 1403, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1403_Name", + "NickName": "RoleInfo_1403_NickName", + "Introduction": "FavorRoleInfo_1403_Info", + "ParentId": 0, + "Priority": 6, + "PropertyId": 1403, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_12_UI.T_IconRoleHead256_12_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_12.T_IconRoleHead150_12", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_12_UI.T_IconRoleHead175_12_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_12_UI.T_IconRoleHead80_12_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_qiushui_UI.T_IconRole_Pile_qiushui_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100013, + "UiMeshId": 100113, + "RoleBody": "MaleXL", + "BreachModel": 730101, + "SpecialEnergyBarId": 9, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1403, + "SkillId": 1403, + "SkillTreeGroupId": 1403, + "ResonanceId": 1403, + "ResonantChainGroupId": 1403, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21030011, + "WeaponType": 3, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleXL/Qiushui/R2T1QiushuiMd10011/ABP_Performance_Qiushui_PC.ABP_Performance_Qiushui_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 3, + "AttributesDescription": "", + "Icon": "", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1.149999976158142, 1.149999976158142, 1.149999976158142], + "Intervene": false, + "CharacterVoice": "RoleInfo_1403_CharacterVoice", + "TrialRole": 100312, + "IsAim": true, + "RoleGuide": 5012, + "RedDotDisableRule": 0 + }, + { + "Id": 1404, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1404_Name", + "NickName": "RoleInfo_1404_NickName", + "Introduction": "FavorRoleInfo_1404_Info", + "ParentId": 0, + "Priority": 13, + "PropertyId": 1404, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_11_UI.T_IconRoleHead256_11_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_11.T_IconRoleHead150_11", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_11_UI.T_IconRoleHead175_11_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_11_UI.T_IconRoleHead80_11_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_jiyan_UI.T_IconRole_Pile_jiyan_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100014, + "UiMeshId": 100014, + "RoleBody": "MaleXL", + "BreachModel": 730100, + "SpecialEnergyBarId": 140400, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1404, + "SkillId": 1404, + "SkillTreeGroupId": 1404, + "ResonanceId": 1404, + "ResonantChainGroupId": 1404, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21010011, + "WeaponType": 1, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Fire.DA_Fx_UI_UIMap_Character_Fire", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleXL/Jiyan/R2T1JiyanMd10011/ABP_Performance_Jiyan_PC.ABP_Performance_Jiyan_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Boots", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1404_CharacterVoice", + "TrialRole": 100313, + "IsAim": false, + "RoleGuide": 5013, + "RedDotDisableRule": 0 + }, + { + "Id": 1204, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1204_Name", + "NickName": "RoleInfo_1204_NickName", + "Introduction": "FavorRoleInfo_1204_Info", + "ParentId": 0, + "Priority": 9, + "PropertyId": 1204, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 2, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_13_UI.T_IconRoleHead256_13_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_13.T_IconRoleHead150_13", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_13_UI.T_IconRoleHead175_13_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_13_UI.T_IconRoleHead80_13_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_baer_UI.T_IconRole_Pile_baer_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100012, + "UiMeshId": 100012, + "RoleBody": "MaleXL", + "BreachModel": 730101, + "SpecialEnergyBarId": 10, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1204, + "SkillId": 1204, + "SkillTreeGroupId": 1204, + "ResonanceId": 1204, + "ResonantChainGroupId": 1204, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21030011, + "WeaponType": 3, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Fire.DA_Fx_UI_UIMap_Character_Fire", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleXL/Baer/R2T1BaerMd10011/ABP_Performance_Baer_PC.ABP_Performance_Baer_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectFire", + "FootStepState": "FS_Heels", + "PartyId": 2, + "AttributesDescription": "", + "Icon": "", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1.149999976158142, 1.149999976158142, 1.149999976158142], + "Intervene": false, + "CharacterVoice": "RoleInfo_1204_CharacterVoice", + "TrialRole": 100314, + "IsAim": true, + "RoleGuide": 5014, + "RedDotDisableRule": 0 + }, + { + "Id": 1301, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1301_Name", + "NickName": "RoleInfo_1301_NickName", + "Introduction": "FavorRoleInfo_1301_Info", + "ParentId": 0, + "Priority": 16, + "PropertyId": 1301, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 3, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_18_UI.T_IconRoleHead256_18_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_18.T_IconRoleHead150_18", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_18_UI.T_IconRoleHead175_18_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_18_UI.T_IconRoleHead80_18_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_kakaluo_UI.T_IconRole_Pile_kakaluo_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100011, + "UiMeshId": 100111, + "RoleBody": "MaleXL", + "BreachModel": 730101, + "SpecialEnergyBarId": 130100, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1301, + "SkillId": 1301, + "SkillTreeGroupId": 1301, + "ResonanceId": 1301, + "ResonantChainGroupId": 1301, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21010011, + "WeaponType": 1, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Fire.DA_Fx_UI_UIMap_Character_Fire", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleXL/Kakaluo/R2T1KakaluoMd10011/ABP_Performance_Kakaluo_PC.ABP_Performance_Kakaluo_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectThunder", + "FootStepState": "FS_Heels", + "PartyId": 2, + "AttributesDescription": "", + "Icon": "", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1301_CharacterVoice", + "TrialRole": 100316, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 1302, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1302_Name", + "NickName": "RoleInfo_1302_NickName", + "Introduction": "FavorRoleInfo_1302_Info", + "ParentId": 0, + "Priority": 11, + "PropertyId": 1302, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 3, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_17_UI.T_IconRoleHead256_17_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_17.T_IconRoleHead150_17", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_17_UI.T_IconRoleHead175_17_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_17_UI.T_IconRoleHead80_17_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yinlin_UI.T_IconRole_Pile_yinlin_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100017, + "UiMeshId": 100017, + "RoleBody": "FemaleM", + "BreachModel": 730101, + "SpecialEnergyBarId": 13, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1302, + "SkillId": 1302, + "SkillTreeGroupId": 1302, + "ResonanceId": 1302, + "ResonantChainGroupId": 1302, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21050011, + "WeaponType": 5, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/YinLin/R2T1YinlinMd10011/ABP_Performance_Yinlin_PC.ABP_Performance_Yinlin_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Boots", + "PartyId": 2, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1503_UI.T_IconRup_1503_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_1302_CharacterVoice", + "TrialRole": 100317, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 1104, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1104_Name", + "NickName": "RoleInfo_1104_NickName", + "Introduction": "FavorRoleInfo_1104_Info", + "ParentId": 0, + "Priority": 18, + "PropertyId": 1104, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 1, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_14_UI.T_IconRoleHead256_14_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_14.T_IconRoleHead150_14", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_14_UI.T_IconRoleHead175_14_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_14_UI.T_IconRoleHead80_14_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_lingyang_UI.T_IconRole_Pile_lingyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100016, + "UiMeshId": 100016, + "RoleBody": "MaleS", + "BreachModel": 730101, + "SpecialEnergyBarId": 110400, + "CameraConfig": "10000", + "CameraFloatHeight": -3, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1104, + "SkillId": 1104, + "SkillTreeGroupId": 1104, + "ResonanceId": 1104, + "ResonantChainGroupId": 1104, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21040011, + "WeaponType": 4, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleS/Lingyang/R2T1LingyangMd10011/ABP_Performance_Lingyang_PC.ABP_Performance_Lingyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Boots", + "PartyId": 2, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1503_UI.T_IconRup_1503_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [0.800000011920929, 0.800000011920929, 0.800000011920929], + "Intervene": false, + "CharacterVoice": "RoleInfo_1104_CharacterVoice", + "TrialRole": 100319, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 1303, + "QualityId": 4, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1303_Name", + "NickName": "RoleInfo_1303_NickName", + "Introduction": "FavorRoleInfo_1303_Info", + "ParentId": 0, + "Priority": 17, + "PropertyId": 1303, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 3, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_15_UI.T_IconRoleHead256_15_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_15.T_IconRoleHead150_15", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_15_UI.T_IconRoleHead175_15_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_15_UI.T_IconRoleHead80_15_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yuanwu_UI.T_IconRole_Pile_yuanwu_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100019, + "UiMeshId": 100019, + "RoleBody": "MaleXL", + "BreachModel": 730101, + "SpecialEnergyBarId": 12, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1303, + "SkillId": 1303, + "SkillTreeGroupId": 1303, + "ResonanceId": 1303, + "ResonantChainGroupId": 1303, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21040011, + "WeaponType": 4, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleXL/Yuanwu/R2T1YuanwuMd10011/ABP_Performance_Yuanwu_PC.ABP_Performance_Yuanwu_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Boots", + "PartyId": 2, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1503_UI.T_IconRup_1503_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1.2000000476837158, 1.2000000476837158, 1.2000000476837158], + "Intervene": false, + "CharacterVoice": "RoleInfo_1303_CharacterVoice", + "TrialRole": 100318, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5001, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5001_Name", + "NickName": "RoleInfo_5001_NickName", + "Introduction": "RoleInfo_5001_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5001, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_255_UI.T_IconMonsterHead_255_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_255_UI.T_IconMonsterHead_255_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_255_UI.T_IconMonsterHead_255_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39001301, + "UiMeshId": 39001301, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5001, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5001_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5002, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5002_Name", + "NickName": "RoleInfo_5002_NickName", + "Introduction": "RoleInfo_5002_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5002, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_1.T_IconRoleHead150_1", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_1_UI.T_IconRoleHead175_1_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_1_UI.T_IconRoleHead80_1_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 10070301, + "UiMeshId": 10070301, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5002, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5002_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5003, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5003_Name", + "NickName": "RoleInfo_5003_NickName", + "Introduction": "RoleInfo_5003_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5003, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_275_UI.T_IconMonsterHead_275_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_275_UI.T_IconMonsterHead_275_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_275_UI.T_IconMonsterHead_275_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39007301, + "UiMeshId": 39007301, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5003, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5003_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5004, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5004_Name", + "NickName": "RoleInfo_5004_NickName", + "Introduction": "RoleInfo_5004_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5004, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_185_UI.T_IconMonsterHead_185_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_185_UI.T_IconMonsterHead_185_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_185_UI.T_IconMonsterHead_185_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 30100301, + "UiMeshId": 30100301, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5004, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5004_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5005, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5005_Name", + "NickName": "RoleInfo_5005_NickName", + "Introduction": "RoleInfo_5005_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5005, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39010601, + "UiMeshId": 39010601, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5005, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5005_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5006, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5006_Name", + "NickName": "RoleInfo_5006_NickName", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39004901, + "UiMeshId": 39004901, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5006, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5007, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5007_Name", + "NickName": "RoleInfo_5007_NickName", + "Introduction": "RoleInfo_5007_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5007, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_998_UI.T_IconMonsterHead_998_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_998_UI.T_IconMonsterHead_998_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_998_UI.T_IconMonsterHead_998_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39000801, + "UiMeshId": 39000801, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 5007, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 5, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5007, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 3, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5007_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5101, + "QualityId": 4, + "RoleType": 4, + "IsTrial": true, + "Name": "RoleInfo_5101_Name", + "NickName": "RoleInfo_5101_NickName", + "Introduction": "RoleInfo_5101_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 1102, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 3, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_5.T_IconRoleHead150_5", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_5_UI.T_IconRoleHead175_5_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_5_UI.T_IconRoleHead80_5_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujue_UI.T_IconRole_Pile_zhujue_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100018, + "UiMeshId": 100005, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 5, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1102, + "SkillId": 1102, + "SkillTreeGroupId": 1102, + "ResonanceId": 1102, + "ResonantChainGroupId": 1102, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Ice.DA_Fx_UI_UIMap_Character_Ice", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Sanhua/R2T1SanhuaMd10011/ABP_Performance_Sanhua_PC.ABP_Performance_Sanhua_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectIce", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1102_UI.T_IconRup_1102_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5101_CharacterVoice", + "TrialRole": 100304, + "IsAim": false, + "RoleGuide": 5008, + "RedDotDisableRule": 0 + }, + { + "Id": 5102, + "QualityId": 4, + "RoleType": 4, + "IsTrial": true, + "Name": "RoleInfo_5102_Name", + "NickName": "RoleInfo_5102_NickName", + "Introduction": "RoleInfo_5102_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 1102, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 2, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_5.T_IconRoleHead150_5", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_5_UI.T_IconRoleHead175_5_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_5_UI.T_IconRoleHead80_5_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujue_UI.T_IconRole_Pile_zhujue_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100020, + "UiMeshId": 100005, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 5, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1102, + "SkillId": 1102, + "SkillTreeGroupId": 1102, + "ResonanceId": 1102, + "ResonantChainGroupId": 1102, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Ice.DA_Fx_UI_UIMap_Character_Ice", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Sanhua/R2T1SanhuaMd10011/ABP_Performance_Sanhua_PC.ABP_Performance_Sanhua_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectIce", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1102_UI.T_IconRup_1102_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5102_CharacterVoice", + "TrialRole": 100304, + "IsAim": false, + "RoleGuide": 5008, + "RedDotDisableRule": 0 + }, + { + "Id": 5103, + "QualityId": 4, + "RoleType": 4, + "IsTrial": true, + "Name": "RoleInfo_5103_Name", + "NickName": "RoleInfo_5103_NickName", + "Introduction": "RoleInfo_5103_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 1102, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 1, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_5.T_IconRoleHead150_5", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_5_UI.T_IconRoleHead175_5_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_5_UI.T_IconRoleHead80_5_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujue_UI.T_IconRole_Pile_zhujue_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100023, + "UiMeshId": 100005, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 5, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1102, + "SkillId": 1102, + "SkillTreeGroupId": 1102, + "ResonanceId": 1102, + "ResonantChainGroupId": 1102, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Ice.DA_Fx_UI_UIMap_Character_Ice", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Sanhua/R2T1SanhuaMd10011/ABP_Performance_Sanhua_PC.ABP_Performance_Sanhua_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectIce", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1102_UI.T_IconRup_1102_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5103_CharacterVoice", + "TrialRole": 100304, + "IsAim": false, + "RoleGuide": 5008, + "RedDotDisableRule": 0 + }, + { + "Id": 9990, + "QualityId": 5, + "RoleType": 3, + "IsTrial": false, + "Name": "RoleInfo_9990_Name", + "NickName": "RoleInfo_9990_NickName", + "Introduction": "RoleInfo_9990_Introduction", + "ParentId": 0, + "Priority": 99, + "PropertyId": 1502, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 5, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_21_UI.T_IconRoleHead150_21_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_22_UI.T_IconRoleHead175_22_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_21_UI.T_IconRoleHead80_21_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujue_UI.T_IconRole_Pile_zhujue_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 199999, + "UiMeshId": 199999, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 4, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1502, + "SkillId": 1501, + "SkillTreeGroupId": 1501, + "ResonanceId": 1, + "ResonantChainGroupId": 1, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Nvzhu/R2T1PlayerFemaleMd10011/ABP_Performance_PlayerFemale_PC.ABP_Performance_PlayerFemale_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Heels", + "PartyId": 9, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1501_UI.T_IconRup_1501_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_9990_CharacterVoice", + "TrialRole": 100307, + "IsAim": false, + "RoleGuide": 5005, + "RedDotDisableRule": 0 + }, + { + "Id": 9991, + "QualityId": 5, + "RoleType": 3, + "IsTrial": false, + "Name": "RoleInfo_9991_Name", + "NickName": "RoleInfo_9991_NickName", + "Introduction": "RoleInfo_9991_Introduction", + "ParentId": 0, + "Priority": 99, + "PropertyId": 1501, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 5, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_22_UI.T_IconRoleHead150_22_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_21_UI.T_IconRoleHead175_21_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_22_UI.T_IconRoleHead80_22_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_zhujuenan_UI.T_IconRole_Pile_zhujuenan_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 199998, + "UiMeshId": 199998, + "RoleBody": "MaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 4, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1501, + "SkillId": 1501, + "SkillTreeGroupId": 1501, + "ResonanceId": 1, + "ResonantChainGroupId": 1, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Light.DA_Fx_UI_UIMap_Character_Light", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/MaleM/Nanzhu/R2T1PlayerMaleMd10011/ABP_Performance_PlayerMale_PC.ABP_Performance_PlayerMale_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectLight", + "FootStepState": "FS_Boots", + "PartyId": 9, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1502_UI.T_IconRup_1502_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_9991_CharacterVoice", + "TrialRole": 100306, + "IsAim": false, + "RoleGuide": 5004, + "RedDotDisableRule": 0 + }, + { + "Id": 5010, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5006_Name", + "NickName": "RoleInfo_5006_NickName", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39009501, + "UiMeshId": 39009501, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 1402, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 1405, + "QualityId": 5, + "RoleType": 1, + "IsTrial": false, + "Name": "RoleInfo_1405_Name", + "NickName": "RoleInfo_1405_NickName", + "Introduction": "FavorRoleInfo_1405_Info", + "ParentId": 0, + "Priority": 19, + "PropertyId": 1405, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead256/T_IconRoleHead256_23_UI.T_IconRoleHead256_23_UI", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead150/T_IconRoleHead150_23_UI.T_IconRoleHead150_23_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead175/T_IconRoleHead175_23_UI.T_IconRoleHead175_23_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconRoleHead80/T_IconRoleHead80_23_UI.T_IconRoleHead80_23_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_jiexin_UI.T_IconRole_Pile_jiexin_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 1 + }, + "MeshId": 100024, + "UiMeshId": 100024, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 15, + "CameraConfig": "10000", + "CameraFloatHeight": 15, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10002, + "BreachId": 1405, + "SkillId": 1405, + "SkillTreeGroupId": 1405, + "ResonanceId": 1402, + "ResonantChainGroupId": 1405, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21040011, + "WeaponType": 4, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Jianxin/R2T1JianxinMd10011/ABP_Performance_Jianxin_PC.ABP_Performance_Jianxin_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 5, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [0.800000011920929, 0.800000011920929, 0.800000011920929], + "Intervene": false, + "CharacterVoice": "RoleInfo_1405_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 5001, + "RedDotDisableRule": 0 + }, + { + "Id": 5008, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5008_Name", + "NickName": "RoleInfo_5006_NickName", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39004001, + "UiMeshId": 39004001, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5008, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5009, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5006_Name", + "NickName": "RoleInfo_5006_NickName", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39008301, + "UiMeshId": 39008301, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5009, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5011, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5011_Name", + "NickName": "RoleInfo_5011_Name", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39010201, + "UiMeshId": 39010201, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5011, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5012, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5012_Name", + "NickName": "RoleInfo_5012_Name", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5012, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 390234, + "UiMeshId": 39010201, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 5, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5012, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5013, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5013_Name", + "NickName": "RoleInfo_5013_Name", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_977_UI.T_IconMonsterHead_977_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_977_UI.T_IconMonsterHead_977_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_977_UI.T_IconMonsterHead_977_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39002101, + "UiMeshId": 39002101, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5013, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5014, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5014_Name", + "NickName": "RoleInfo_5014_Name", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_976_UI.T_IconMonsterHead_976_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_976_UI.T_IconMonsterHead_976_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_976_UI.T_IconMonsterHead_976_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39002201, + "UiMeshId": 39002201, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5014, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5015, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5015_Name", + "NickName": "RoleInfo_5014_Name", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5006, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_976_UI.T_IconMonsterHead_976_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_976_UI.T_IconMonsterHead_976_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_976_UI.T_IconMonsterHead_976_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39000001, + "UiMeshId": 39000001, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5015, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + }, + { + "Id": 5016, + "QualityId": 4, + "RoleType": 2, + "IsTrial": true, + "Name": "RoleInfo_5006_Name", + "NickName": "RoleInfo_5006_NickName", + "Introduction": "RoleInfo_5006_Introduction", + "ParentId": 0, + "Priority": 4, + "PropertyId": 5013, + "ShowProperty": [2, 7, 10, 13, 8, 9], + "ElementId": 4, + "RoleHeadIconLarge": "", + "RoleHeadIconBig": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "Card": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "RoleHeadIcon": "/Game/Aki/UI/UIResources/Common/Image/IconMonsterHead/T_IconMonsterHead_115_UI.T_IconMonsterHead_115_UI", + "FormationRoleCard": "/Game/Aki/UI/UIResources/Common/Image/IconRolePile/T_IconRole_Pile_yangyang_UI.T_IconRole_Pile_yangyang_UI", + "RoleStand": "/Game/Aki/UI/UIResources/UiQuest/Image/ChuanShuo/T_IconChuanShuo1_UI.T_IconChuanShuo1_UI", + "SpilloverItem": { + "size": 0 + }, + "MeshId": 39004902, + "UiMeshId": 39004902, + "RoleBody": "FemaleM", + "BreachModel": 730100, + "SpecialEnergyBarId": 0, + "CameraConfig": "10000", + "CameraFloatHeight": 0, + "EntityProperty": 0, + "MaxLevel": 90, + "LevelConsumeId": 10001, + "BreachId": 5006, + "SkillId": 1402, + "SkillTreeGroupId": 1402, + "ResonanceId": 1402, + "ResonantChainGroupId": 1402, + "IsShow": false, + "ExchangeConsume": { + "size": 1 + }, + "InitWeaponItemId": 21020011, + "WeaponType": 2, + "SkillDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Wind.DA_Fx_UI_UIMap_Character_Wind", + "SkillLockDAPath": "/Game/Aki/Effect/DataAsset/Niagara/UI_Scenes/DA_Fx_UI_UIMap_Character_Lock001.DA_Fx_UI_UIMap_Character_Lock001", + "UiScenePerformanceABP": "/Game/Aki/Character/Role/FemaleM/Yangyang/R2T1YangyangMd10011/ABP_Performance_Yangyang_PC.ABP_Performance_Yangyang_PC_C", + "LockOnDefaultId": 1, + "LockOnLookOnId": 2, + "SkillEffectDA": "RoleSkillTabEffectWind", + "FootStepState": "FS_Heels", + "PartyId": 1, + "AttributesDescription": "", + "Icon": "/Game/Aki/UI/UIResources/Common/Image/IconRup/T_IconRup_1402_UI.T_IconRup_1402_UI", + "ItemQualityId": 4, + "ObtainedShowDescription": "", + "NumLimit": 1, + "ShowInBag": true, + "WeaponScale": [1, 1, 1], + "Intervene": false, + "CharacterVoice": "RoleInfo_5006_CharacterVoice", + "TrialRole": 100301, + "IsAim": false, + "RoleGuide": 0, + "RedDotDisableRule": 0 + } +] diff --git a/GameServer/Controllers/CreatureController.cs b/GameServer/Controllers/CreatureController.cs index 7315f6b..385d611 100644 --- a/GameServer/Controllers/CreatureController.cs +++ b/GameServer/Controllers/CreatureController.cs @@ -1,4 +1,5 @@ -using GameServer.Controllers.Attributes; +using System.Security.Principal; +using GameServer.Controllers.Attributes; using GameServer.Models; using GameServer.Network; using GameServer.Network.Messages; @@ -70,6 +71,69 @@ internal class CreatureController : Controller return Response(MessageId.SceneLoadingFinishResponse, new SceneLoadingFinishResponse()); } + [GameEvent(GameEventType.FormationUpdated)] + public async Task OnFormationUpdated() + { + // Remove old entities + + IEnumerable oldEntities = _entitySystem.EnumerateEntities() + .Where(e => e is PlayerEntity entity && entity.PlayerId == _modelManager.Player.Id) + .Cast().ToArray(); + + foreach (PlayerEntity oldEntity in oldEntities) + { + _entitySystem.Destroy(oldEntity); + } + + await Session.Push(MessageId.EntityRemoveNotify, new EntityRemoveNotify + { + IsRemove = true, + RemoveInfos = + { + oldEntities.Select(entity => new EntityRemoveInfo + { + EntityId = entity.Id, + Type = (int)entity.Type + }) + } + }); + + // Spawn new entities + + CreateTeamPlayerEntities(); + + IEnumerable newEntities = _entitySystem.EnumerateEntities() + .Where(e => e is PlayerEntity entity && entity.PlayerId == _modelManager.Player.Id) + .Cast(); + + await Session.Push(MessageId.EntityAddNotify, new EntityAddNotify + { + IsAdd = true, + EntityPbs = + { + newEntities.Select(entity => entity.Pb) + } + }); + + _modelManager.Creature.PlayerEntityId = newEntities.First().Id; + await Session.Push(MessageId.UpdatePlayerAllFightRoleNotify, new UpdatePlayerAllFightRoleNotify + { + PlayerId = _modelManager.Player.Id, + FightRoleInfos = + { + newEntities.Select(entity => new FightRoleInformation + { + EntityId = entity.Id, + CurHp = 1000, + MaxHp = 1000, + IsControl = _modelManager.Creature.PlayerEntityId == entity.Id, + RoleId = entity.ConfigId, + RoleLevel = 1, + }) + } + }); + } + [GameEvent(GameEventType.VisionSkillChanged)] public async Task OnVisionSkillChanged() { @@ -86,7 +150,13 @@ internal class CreatureController : Controller public PlayerEntity? GetPlayerEntity() { - return _entitySystem.EnumerateEntities().FirstOrDefault(entity => entity.Id == _modelManager.Creature.PlayerEntityId) as PlayerEntity; + return _entitySystem.Get(_modelManager.Creature.PlayerEntityId); + } + + public PlayerEntity? GetPlayerEntityByRoleId(int roleId) + { + return _entitySystem.EnumerateEntities() + .FirstOrDefault(e => e is PlayerEntity playerEntity && playerEntity.ConfigId == roleId && playerEntity.PlayerId == _modelManager.Player.Id) as PlayerEntity; } public async Task SwitchPlayerEntity(int roleId) @@ -151,9 +221,9 @@ internal class CreatureController : Controller private void CreateTeamPlayerEntities() { - for (int i = 0; i < _modelManager.Player.Characters.Length; i++) + for (int i = 0; i < _modelManager.Formation.RoleIds.Length; i++) { - PlayerEntity entity = _entityFactory.CreatePlayer(_modelManager.Player.Characters[i], _modelManager.Player.Id); + PlayerEntity entity = _entityFactory.CreatePlayer(_modelManager.Formation.RoleIds[i], _modelManager.Player.Id); entity.Pos = new() { X = 4000, diff --git a/GameServer/Controllers/FormationController.cs b/GameServer/Controllers/FormationController.cs index e3558e2..c00ddca 100644 --- a/GameServer/Controllers/FormationController.cs +++ b/GameServer/Controllers/FormationController.cs @@ -2,6 +2,8 @@ using GameServer.Models; using GameServer.Network; using GameServer.Network.Messages; +using GameServer.Systems.Entity; +using GameServer.Systems.Event; using Protocol; namespace GameServer.Controllers; @@ -29,6 +31,18 @@ internal class FormationController : Controller }, }); + [NetEvent(MessageId.UpdateFormationRequest)] + public async Task OnUpdateFormationRequest(UpdateFormationRequest request, EventSystem eventSystem) + { + _modelManager.Formation.Set([.. request.Formation.RoleIds]); + await eventSystem.Emit(GameEventType.FormationUpdated); + + return Response(MessageId.UpdateFormationResponse, new UpdateFormationResponse + { + Formation = request.Formation + }); + } + [NetEvent(MessageId.FormationAttrRequest)] public ResponseMessage OnFormationAttrRequest() => Response(MessageId.FormationAttrResponse, new FormationAttrResponse()); } diff --git a/GameServer/Controllers/RoleController.cs b/GameServer/Controllers/RoleController.cs index fca8edb..5d8bdb6 100644 --- a/GameServer/Controllers/RoleController.cs +++ b/GameServer/Controllers/RoleController.cs @@ -1,4 +1,5 @@ -using GameServer.Controllers.Attributes; +using Core.Config; +using GameServer.Controllers.Attributes; using GameServer.Models; using GameServer.Network; using GameServer.Network.Messages; @@ -14,7 +15,7 @@ internal class RoleController : Controller } [GameEvent(GameEventType.EnterGame)] - public async Task OnEnterGame(ModelManager modelManager) + public async Task OnEnterGame(ModelManager modelManager, ConfigManager configManager) { PlayerModel player = modelManager.Player; @@ -22,9 +23,11 @@ internal class RoleController : Controller { RoleList = { - player.Characters.Select(i => new roleInfo + configManager.GetCollection(ConfigType.RoleInfo) + .Enumerate() + .Select(config => new roleInfo { - RoleId = i, + RoleId = config.Id, Level = 1 }) } diff --git a/GameServer/GameServer.csproj b/GameServer/GameServer.csproj index c77cd8d..3d4e753 100644 --- a/GameServer/GameServer.csproj +++ b/GameServer/GameServer.csproj @@ -12,6 +12,7 @@ + diff --git a/GameServer/Models/FormationModel.cs b/GameServer/Models/FormationModel.cs new file mode 100644 index 0000000..7689a53 --- /dev/null +++ b/GameServer/Models/FormationModel.cs @@ -0,0 +1,18 @@ +namespace GameServer.Models; +internal class FormationModel +{ + public int[] RoleIds { get; } + + public FormationModel() + { + RoleIds = new int[3]; + } + + public void Set(int[] roleIds) + { + for (int i = 0; i < RoleIds.Length; i++) + { + RoleIds[i] = roleIds[i]; + } + } +} diff --git a/GameServer/Models/ModelManager.cs b/GameServer/Models/ModelManager.cs index 851b318..95e0631 100644 --- a/GameServer/Models/ModelManager.cs +++ b/GameServer/Models/ModelManager.cs @@ -21,9 +21,13 @@ internal class ModelManager { _playerModel = PlayerModel.CreateDefaultPlayer(_playerStartingValues.Value); _creatureModel = new CreatureModel(_playerModel.Id); + + Formation.Set(_playerStartingValues.Value.Characters); } public PlayerModel Player => _playerModel ?? throw new InvalidOperationException($"Trying to access {nameof(PlayerModel)} instance before initialization!"); public CreatureModel Creature => _creatureModel ?? throw new InvalidOperationException($"Trying to access {nameof(CreatureModel)} instance before initialization!"); + + public FormationModel Formation { get; } = new(); } diff --git a/GameServer/Program.cs b/GameServer/Program.cs index 427e865..e8c02ee 100644 --- a/GameServer/Program.cs +++ b/GameServer/Program.cs @@ -1,4 +1,6 @@ -using GameServer.Controllers.Factory; +using Core.Config; +using Core.Extensions; +using GameServer.Controllers.Factory; using GameServer.Controllers.Manager; using GameServer.Extensions; using GameServer.Models; @@ -24,7 +26,9 @@ internal static class Program builder.Logging.AddConsole(); builder.SetupConfiguration(); - builder.Services.AddControllers() + builder.Services.UseLocalResources() + .AddControllers() + .AddSingleton() .AddSingleton().AddScoped() .AddScoped().AddSingleton() .AddScoped().AddScoped() diff --git a/GameServer/Systems/Entity/EntitySystem.cs b/GameServer/Systems/Entity/EntitySystem.cs index a6fea55..9bc8555 100644 --- a/GameServer/Systems/Entity/EntitySystem.cs +++ b/GameServer/Systems/Entity/EntitySystem.cs @@ -24,6 +24,11 @@ internal class EntitySystem _entities.Add(entity); } + public void Destroy(EntityBase entity) + { + _ = _entities.Remove(entity); + } + public void Activate(EntityBase entity) { entity.Activate(); diff --git a/GameServer/Systems/Event/GameEventType.cs b/GameServer/Systems/Event/GameEventType.cs index e328c0c..6ac5ce7 100644 --- a/GameServer/Systems/Event/GameEventType.cs +++ b/GameServer/Systems/Event/GameEventType.cs @@ -5,5 +5,6 @@ internal enum GameEventType EnterGame, // Actions + FormationUpdated, VisionSkillChanged } diff --git a/GameServer/WWGameServer.cs b/GameServer/WWGameServer.cs index 3509093..b62676a 100644 --- a/GameServer/WWGameServer.cs +++ b/GameServer/WWGameServer.cs @@ -1,4 +1,5 @@ -using GameServer.Controllers.Factory; +using Core.Config; +using GameServer.Controllers.Factory; using GameServer.Network.Kcp; using Microsoft.Extensions.Hosting; @@ -7,8 +8,9 @@ internal class WWGameServer : IHostedService { private readonly KcpGateway _gateway; - public WWGameServer(KcpGateway gateway, EventHandlerFactory messageHandlerFactory) + public WWGameServer(KcpGateway gateway, ConfigManager manager, EventHandlerFactory messageHandlerFactory) { + _ = manager; _ = messageHandlerFactory; _gateway = gateway; } diff --git a/WutheringWaves.sln b/WutheringWaves.sln index b24db2c..f7e6c30 100644 --- a/WutheringWaves.sln +++ b/WutheringWaves.sln @@ -12,9 +12,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GameServer", "GameServer\GameServer.csproj", "{78D639E8-D607-41F1-B0B8-AB1611ADE08F}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "KcpSharp", "KcpSharp\KcpSharp.csproj", "{C2BDCF0A-C256-4E97-9D9A-45FF5C8614CD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KcpSharp", "KcpSharp\KcpSharp.csproj", "{C2BDCF0A-C256-4E97-9D9A-45FF5C8614CD}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Protocol", "Protocol\Protocol.csproj", "{9900A88C-7818-4335-84F7-1538ECC8B338}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Protocol", "Protocol\Protocol.csproj", "{9900A88C-7818-4335-84F7-1538ECC8B338}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core", "Core\Core.csproj", "{C025BDED-6DC7-493D-8D10-05DCCB3072F3}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -38,6 +40,10 @@ Global {9900A88C-7818-4335-84F7-1538ECC8B338}.Debug|Any CPU.Build.0 = Debug|Any CPU {9900A88C-7818-4335-84F7-1538ECC8B338}.Release|Any CPU.ActiveCfg = Release|Any CPU {9900A88C-7818-4335-84F7-1538ECC8B338}.Release|Any CPU.Build.0 = Release|Any CPU + {C025BDED-6DC7-493D-8D10-05DCCB3072F3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C025BDED-6DC7-493D-8D10-05DCCB3072F3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C025BDED-6DC7-493D-8D10-05DCCB3072F3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C025BDED-6DC7-493D-8D10-05DCCB3072F3}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE