From 934ad89fdfe2828ff2079f63c132b374852e13fd Mon Sep 17 00:00:00 2001 From: xeon Date: Fri, 24 May 2024 19:17:45 +0300 Subject: [PATCH] AvatarConfig, UnlockConfig collections --- .../AvatarConfigTemplateCollection.json | 1053 +++++++++++++++++ .../UnlockConfigTemplateCollection.json | 352 ++++++ gameserver/src/config/mod.rs | 2 + gameserver/src/config/templates.rs | 99 ++ gameserver/src/net/handlers/world.rs | 19 +- 5 files changed, 1512 insertions(+), 13 deletions(-) create mode 100644 assets/TemplateCollections/AvatarConfigTemplateCollection.json create mode 100644 assets/TemplateCollections/UnlockConfigTemplateCollection.json diff --git a/assets/TemplateCollections/AvatarConfigTemplateCollection.json b/assets/TemplateCollections/AvatarConfigTemplateCollection.json new file mode 100644 index 0000000..986366b --- /dev/null +++ b/assets/TemplateCollections/AvatarConfigTemplateCollection.json @@ -0,0 +1,1053 @@ +[ + { + "ID": 1011, + "CodeName": "Avatar_Female_Size02_Anbi_En", + "Name": "Avatar_Female_Size02_Anbi", + "AudioEventReplaceParam": "anbi", + "AudioBank": "BK_Anbi|BK_CHR_Common|BK_Anbi_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral01.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral01.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle01.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect01.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar01", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Anbi", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Anbi_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Anbi/Avatar_Female_Size02_Anbi", + "UIPrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Anbi/Avatar_Female_Size02_Anbi_UI", + "MainPageShow": true, + "NeedShow": true, + "HitTypes": [ + 101 + ], + "ElementTypes": [ + 203 + ], + "Tags": [ + "Anbi", + "Cut", + "Electric", + "Female" + ], + "Gender": 2, + "Camp": 1, + "CampName": "CampGentleHouse", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampGentleHouse.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5011, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 462, + "HPGrowth": 382500, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 100, + "AttackGrowth": 82800, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1021, + "CodeName": "Avatar_Female_Size01_Tsubaki_En", + "Name": "Avatar_Female_Size01_Tsubaki", + "AudioEventReplaceParam": "tsubaki", + "AudioBank": "BK_Tsubaki|BK_CHR_Common|BK_Tsubaki_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral11.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral11.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle11.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect11.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar02", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_Tsubaki", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_Tsubaki_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_Tsubaki/Avatar_Female_Size01_Tsubaki", + "UIPrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_Tsubaki/Avatar_Female_Size01_Tsubaki_UI", + "MainPageShow": true, + "NeedShow": true, + "HitTypes": [ + 101 + ], + "ElementTypes": [ + 200 + ], + "Tags": [ + "Tsubaki", + "Cut", + "Female" + ], + "Gender": 2, + "Camp": 1, + "CampName": "CampGentleHouse", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampGentleHouse.png", + "WeaponType": 2, + "StarInitial": 1, + "AvatarPieceID": 5021, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 440, + "HPGrowth": 364300, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 95, + "AttackGrowth": 78400, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 100, + "SPBarPoint": 120, + "SpRecover": 200, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1031, + "CodeName": "Avatar_Female_Size02_Nostradamus_En", + "Name": "Avatar_Female_Size02_Nostradamus", + "AudioEventReplaceParam": "nicole", + "AudioBank": "BK_Nicole|BK_CHR_Common|BK_Nicole_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral12.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral12.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle12.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect12.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar03", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Nostradamus", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Nostradamus_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Nostradamus/Avatar_Female_Size02_Nostradamus", + "UIPrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Nostradamus/Avatar_Female_Size02_Nostradamus_UI", + "MainPageShow": true, + "NeedShow": true, + "HitTypes": [ + 102 + ], + "ElementTypes": [ + 200 + ], + "Tags": [ + "Nostradamus", + "Punch", + "Female" + ], + "Gender": 2, + "Camp": 1, + "CampName": "CampGentleHouse", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampGentleHouse.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5031, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 440, + "HPGrowth": 364300, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 116, + "AttackGrowth": 95900, + "Defence": 43, + "DefenceGrowth": 35100, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 100, + "SPBarPoint": 120, + "SpRecover": 200, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1041, + "CodeName": "Avatar_Female_Size02_Longinus_En", + "Name": "Avatar_Female_Size02_Longinus", + "AudioEventReplaceParam": "longinus", + "AudioBank": "BK_Longinus|BK_CHR_Common|BK_Longinus_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral05.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral05.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle05.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect05.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Longinus", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Longinus_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Longinus/Avatar_Female_Size02_Longinus", + "UIPrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Longinus/Avatar_Female_Size02_Longinus_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 101 + ], + "ElementTypes": [ + 201 + ], + "Tags": [ + "Longinus", + "Cut", + "Fire", + "Female" + ], + "Gender": 2, + "Camp": 5, + "CampName": "CampObols", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampObols.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5041, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 462, + "HPGrowth": 382500, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 100, + "AttackGrowth": 82800, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1061, + "CodeName": "Avatar_Female_Size01_Corin_En", + "Name": "Avatar_Female_Size01_Corin", + "AudioEventReplaceParam": "corin", + "AudioBank": "BK_Corin|BK_CHR_Common|BK_Corin_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral09.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral09.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle09.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect09.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_Corin", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_Corin_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_Corin/Avatar_Female_Size01_Corin", + "UIPrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_Corin/Avatar_Female_Size01_Corin_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 101 + ], + "ElementTypes": [ + 200 + ], + "Tags": [ + "Corin", + "Cut", + "Female" + ], + "Gender": 2, + "Camp": 2, + "CampName": "CampVictoriaHousekeepingCo.", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampVictoriaHousekeepingCo..png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5061, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 484, + "HPGrowth": 400800, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 105, + "AttackGrowth": 87200, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 120, + "SPBarPoint": 120, + "SpRecover": 160, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1081, + "CodeName": "Avatar_Male_Size03_Billy_En", + "Name": "Avatar_Male_Size03_Billy", + "AudioEventReplaceParam": "billy", + "AudioBank": "BK_Billy|BK_CHR_Common|BK_Billy_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral10.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral10.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle10.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect10.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Billy", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Billy_UI", + "PrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Billy/Avatar_Male_Size03_Billy", + "UIPrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Billy/Avatar_Male_Size03_Billy_UI", + "MainPageShow": true, + "NeedShow": true, + "HitTypes": [ + 103 + ], + "ElementTypes": [ + 200 + ], + "Tags": [ + "Billy", + "Pierce", + "Male" + ], + "Gender": 1, + "Camp": 1, + "CampName": "CampGentleHouse", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampGentleHouse.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5081, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 396, + "HPGrowth": 327900, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 105, + "AttackGrowth": 87200, + "Defence": 43, + "DefenceGrowth": 35100, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 80, + "SPBarPoint": 120, + "SpRecover": 240, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1091, + "CodeName": "Avatar_Female_Size02_Unagi_En", + "Name": "Avatar_Female_Size02_Unagi", + "AudioEventReplaceParam": "unagi", + "AudioBank": "BK_Unagi|BK_CHR_Common|BK_Unagi_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral13.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral13.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle13.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect13.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Unagi", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Unagi_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Unagi/Avatar_Female_Size02_Unagi", + "UIPrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Unagi/Avatar_Female_Size02_Unagi_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 101 + ], + "ElementTypes": [ + 202 + ], + "Tags": [ + "Unagi", + "Cut", + "Ice", + "Female" + ], + "Gender": 2, + "Camp": 6, + "CampName": "CampH.S.O-S6", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampH.S.O-S6.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5091, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 462, + "HPGrowth": 382500, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 100, + "AttackGrowth": 82800, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1101, + "CodeName": "Avatar_Female_Size01_OokumaMari_En", + "Name": "Avatar_Female_Size01_OokumaMari", + "AudioEventReplaceParam": "koleda", + "AudioBank": "BK_Koleda|BK_CHR_Common|BK_Koleda_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral14.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral14.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle14.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect14.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_OokumaMari", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_OokumaMari_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_OokumaMari/Avatar_Female_Size01_OokumaMari", + "UIPrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_OokumaMari/Avatar_Female_Size01_OokumaMari_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 102 + ], + "ElementTypes": [ + 201 + ], + "Tags": [ + "OokumaMari", + "Punch", + "Fire", + "Female" + ], + "Gender": 2, + "Camp": 3, + "CampName": "CampBelobogIndustries", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampBelobogIndustries.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5101, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 431, + "HPGrowth": 356900, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 99, + "AttackGrowth": 82200, + "Defence": 45, + "DefenceGrowth": 36900, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 100, + "SPBarPoint": 120, + "SpRecover": 200, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1111, + "CodeName": "Avatar_Male_Size03_Anton_En", + "Name": "Avatar_Male_Size03_Anton", + "AudioEventReplaceParam": "anton", + "AudioBank": "BK_Anton|BK_CHR_Common|BK_Anton_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral15.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral15.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle15.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect15.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Anton", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Anton_UI", + "PrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Anton/Avatar_Male_Size03_Anton", + "UIPrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Anton/Avatar_Male_Size03_Anton_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 103 + ], + "ElementTypes": [ + 203 + ], + "Tags": [ + "Anton", + "Pierce", + "Electric", + "Male" + ], + "Gender": 1, + "Camp": 3, + "CampName": "CampBelobogIndustries", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampBelobogIndustries.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5111, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 462, + "HPGrowth": 382500, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 100, + "AttackGrowth": 82800, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1121, + "CodeName": "Avatar_Male_Size03_Ben_En", + "Name": "Avatar_Male_Size03_Ben", + "AudioEventReplaceParam": "ben", + "AudioBank": "BK_Ben|BK_CHR_Common|BK_Ben_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral16.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral16.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle16.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect16.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Ben", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Ben_UI", + "PrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Ben/Avatar_Male_Size03_Ben", + "UIPrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Ben/Avatar_Male_Size03_Ben_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 102 + ], + "ElementTypes": [ + 200 + ], + "Tags": [ + "Ben", + "Punch", + "Male" + ], + "Gender": 1, + "Camp": 3, + "CampName": "CampBelobogIndustries", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampBelobogIndustries.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5121, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 550, + "HPGrowth": 455900, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 90, + "AttackGrowth": 74700, + "Defence": 55, + "DefenceGrowth": 45100, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 120, + "SPBarPoint": 120, + "SpRecover": 160, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1131, + "CodeName": "Avatar_Female_Size01_Aokaku_En", + "Name": "Avatar_Female_Size01_Aokaku", + "AudioEventReplaceParam": "aokaku", + "AudioBank": "BK_Aokaku|BK_CHR_Common|BK_Aokaku_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral17.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral17.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle17.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect17.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_Aokaku", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size01_Aokaku_UI", + "PrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_Aokaku/Avatar_Female_Size01_Aokaku", + "UIPrefabPath": "Char/Avatar/Female/Female_Size01/Avatar_Female_Size01_Aokaku/Avatar_Female_Size01_Aokaku_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 101, + 102 + ], + "ElementTypes": [ + 204 + ], + "Tags": [ + "Aokaku", + "Cut", + "Punch", + "Wind", + "Female" + ], + "Gender": 2, + "Camp": 6, + "CampName": "CampH.S.O-S6", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampH.S.O-S6.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5131, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 484, + "HPGrowth": 400800, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 105, + "AttackGrowth": 87200, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 120, + "SPBarPoint": 120, + "SpRecover": 160, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 1141, + "CodeName": "Avatar_Male_Size03_Lycaon_En", + "Name": "Avatar_Male_Size03_Lycaon", + "AudioEventReplaceParam": "lycaon", + "AudioBank": "BK_Lycaon|BK_CHR_Common|BK_Lycaon_VO", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral18.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral18.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle18.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect18.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar04", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Lycaon", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size03_Lycaon_UI", + "PrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Lycaon/Avatar_Male_Size03_Lycaon", + "UIPrefabPath": "Char/Avatar/Male/Male_Size03/Avatar_Male_Size03_Lycaon/Avatar_Male_Size03_Lycaon_UI", + "MainPageShow": false, + "NeedShow": true, + "HitTypes": [ + 102 + ], + "ElementTypes": [ + 202 + ], + "Tags": [ + "Lycaon", + "Punch", + "Ice", + "Male" + ], + "Gender": 1, + "Camp": 2, + "CampName": "CampVictoriaHousekeepingCo.", + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampVictoriaHousekeepingCo..png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 5141, + "AvatarDecompose": 10, + "AvatarCompose": 20, + "HP": 473, + "HPGrowth": 391700, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 95, + "AttackGrowth": 78900, + "Defence": 50, + "DefenceGrowth": 41000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 10012, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 2011, + "CodeName": "Avatar_Male_Size01_Wise_En", + "Name": "Avatar_Male_Size01_Wise", + "AudioEventReplaceParam": "wise", + "AudioBank": "BK_Wise", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral01.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral01.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle01.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect01.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar01", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size01_Wise_MainCity", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Male_Size01_Wise_MainCity", + "PrefabPath": "Char/Avatar/Male/Male_Size01/Avatar_Male_Size01_Wise/Avatar_Male_Size01_Wise_MainCity", + "UIPrefabPath": "Char/Avatar/Male/Male_Size01/Avatar_Male_Size01_Wise/Avatar_Male_Size01_Wise_UI", + "MainPageShow": false, + "NeedShow": false, + "HitTypes": [ + 0 + ], + "ElementTypes": [ + 0 + ], + "Tags": [], + "Gender": 1, + "Camp": 0, + "CampName": null, + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampGentleHouse.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 6011, + "AvatarDecompose": 5, + "AvatarCompose": 10, + "HP": 449, + "HPGrowth": 372100, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 90, + "AttackGrowth": 74900, + "Defence": 48, + "DefenceGrowth": 39000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 0, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + }, + { + "ID": 2021, + "CodeName": "Avatar_Female_Size02_Belle_En", + "Name": "Avatar_Female_Size02_Belle", + "AudioEventReplaceParam": "belle", + "AudioBank": "BK_Belle", + "HudIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral01.png", + "HollowIconPath": "UI/Sprite/A1DynamicLoad/IconRoleGeneral/UnPacker/IconRoleGeneral01.png", + "IconPath": "UI/Sprite/A1DynamicLoad/IconRoleCircle/UnPacker/IconRoleCircle01.png", + "RectIconPath": "UI/Sprite/A1DynamicLoad/IconRoleSelect/UnPacker/IconRoleSelect01.png", + "AvatarPath": "UI/Sprite/RoleHollowSystemPage/TeamEditAvatar01", + "ScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Belle_MainCity", + "UIScriptConfigPath": "Data/ScriptConfig/Character/Avatar_Female_Size02_Belle_MainCity", + "PrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Belle/Avatar_Female_Size02_Belle_MainCity", + "UIPrefabPath": "Char/Avatar/Female/Female_Size02/Avatar_Female_Size02_Belle/Avatar_Female_Size02_Belle_UI", + "MainPageShow": false, + "NeedShow": false, + "HitTypes": [ + 0 + ], + "ElementTypes": [ + 0 + ], + "Tags": [], + "Gender": 2, + "Camp": 0, + "CampName": null, + "GroupIconPath": "UI/Sprite/A1DynamicLoad/IconRoleCamp/UnPacker/IconCampGentleHouse.png", + "WeaponType": 1, + "StarInitial": 1, + "AvatarPieceID": 6011, + "AvatarDecompose": 5, + "AvatarCompose": 10, + "HP": 438, + "HPGrowth": 363500, + "Armor": 0, + "ArmorGrowth": 0, + "Shield": 0, + "ShieldGrowth": 0, + "Endurance": 0, + "Attack": 95, + "AttackGrowth": 78700, + "Defence": 45, + "DefenceGrowth": 37000, + "Crit": 500, + "CritDamage": 5000, + "CritRes": 0, + "CritDmgRes": 0, + "PenRate": 0, + "PenDelta": 0, + "Luck": 10, + "Stun": 0, + "BreakStun": 110, + "SPBarPoint": 120, + "SpRecover": 180, + "RBL": 1, + "RBLCorrectionFactor": 10000, + "RBLProbability": 0, + "BuffResistBurnPossibilityRatio": 0, + "BuffResistBurnPossibilityDelta": 0, + "BuffResistFrozenPossibilityRatio": 0, + "BuffResistFrozenPossibilityDelta": 0, + "BuffResistElectricPossibilityRatio": 0, + "BuffResistElectricPossibilityDelta": 0, + "Weapon": 0, + "RBP": 0, + "RBPFadeOutRate": 0, + "RBPFadeOutTime": 0, + "RBPCorrectionFactor": 0, + "RBPProbability": 0 + } +] diff --git a/assets/TemplateCollections/UnlockConfigTemplateCollection.json b/assets/TemplateCollections/UnlockConfigTemplateCollection.json new file mode 100644 index 0000000..410c5bb --- /dev/null +++ b/assets/TemplateCollections/UnlockConfigTemplateCollection.json @@ -0,0 +1,352 @@ +[ + { + "ID": 1001, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 1, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconSundryBtn.png", + "Name": "UIText_321" + }, + { + "ID": 1002, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconGashaponBtn.png", + "Name": "UIText_322" + }, + { + "ID": 1003, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconShopBtn02.png", + "Name": "UIText_323" + }, + { + "ID": 1004, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconMissionBtn.png", + "Name": "UIText_324" + }, + { + "ID": 1005, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 1, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconYorozuyaManualBtn.png", + "Name": "UIText_325" + }, + { + "ID": 1006, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 1, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconBagBtn.png", + "Name": "UIText_326" + }, + { + "ID": 1007, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconBangBooBtn.png", + "Name": "UIText_327" + }, + { + "ID": 1008, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 1, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconRoleBtn02.png", + "Name": "UIText_328" + }, + { + "ID": 1009, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 1, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconTeleportBtn.png", + "Name": "UIText_329" + }, + { + "ID": 1010, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 1011, + "LockType": 1, + "LockParam": "MenuText_LockHint", + "UnlockType": 1, + "UnlockParam": "MenuText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 1013, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 1014, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 1, + "IconRes": "UI/Sprite/MainCityMenus/Packer/IconSetUp.png", + "Name": "UIText_330" + }, + { + "ID": 1015, + "LockType": 2, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 2, + "IconRes": "UI/Sprite/A1DynamicLoad/IconMenusOption/Packer/IconMail.png", + "Name": "UIText_331" + }, + { + "ID": 1016, + "LockType": 2, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 2, + "IconRes": "UI/Sprite/A1DynamicLoad/IconMenusOption/Packer/IconNotice.png", + "Name": "UIText_332" + }, + { + "ID": 1017, + "LockType": 2, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 2, + "IconRes": "UI/Sprite/A1DynamicLoad/IconMenusOption/Packer/IconFeedback.png", + "Name": "UIText_354" + }, + { + "ID": 1018, + "LockType": 1, + "LockParam": "HollowPause_LockHint", + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 1019, + "LockType": 2, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 2, + "IconRes": "UI/Sprite/A1DynamicLoad/IconMenusOption/Packer/IconSignOut", + "Name": "UIText_367" + }, + { + "ID": 10001, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10002, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10003, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10004, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10005, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10006, + "LockType": 1, + "LockParam": "InventoryText_LockHint", + "UnlockType": 0, + "UnlockParam": "InventoryText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10007, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10008, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10009, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10010, + "LockType": 1, + "LockParam": "SmithyText_LockHint", + "UnlockType": 1, + "UnlockParam": "SmithyText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10012, + "LockType": 1, + "LockParam": "RamenText_LockHint", + "UnlockType": 1, + "UnlockParam": "RamenText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10013, + "LockType": 1, + "LockParam": "WorkbenchText_LockHint", + "UnlockType": 1, + "UnlockParam": "WorkbenchText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10014, + "LockType": 1, + "LockParam": "VHSStoreText_LockHint", + "UnlockType": 1, + "UnlockParam": "VHSStoreText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10015, + "LockType": 1, + "LockParam": "GroceryText_LockHint", + "UnlockType": 1, + "UnlockParam": "GroceryText_UnlockHint", + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10017, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10018, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + }, + { + "ID": 10019, + "LockType": 1, + "LockParam": null, + "UnlockType": 0, + "UnlockParam": null, + "MenuType": 0, + "IconRes": null, + "Name": null + } +] \ No newline at end of file diff --git a/gameserver/src/config/mod.rs b/gameserver/src/config/mod.rs index 3db0b0e..8ff2a17 100644 --- a/gameserver/src/config/mod.rs +++ b/gameserver/src/config/mod.rs @@ -32,6 +32,8 @@ macro_rules! template_collections { } template_collections! { + AvatarConfig; + UnlockConfig; MainCityObject; } diff --git a/gameserver/src/config/templates.rs b/gameserver/src/config/templates.rs index abc569a..b2ad999 100644 --- a/gameserver/src/config/templates.rs +++ b/gameserver/src/config/templates.rs @@ -40,3 +40,102 @@ pub struct MainCityObjectTemplate { pub npc_icon: Option, pub action_switch: Option, } + +#[derive(Deserialize, Debug)] +#[serde(rename_all = "PascalCase")] +pub struct UnlockConfigTemplate { + #[serde(rename = "ID")] + pub id: i32, + pub lock_type: i32, + pub lock_param: Option, + pub unlock_type: i32, + pub unlock_param: Option, + pub menu_type: i32, + pub icon_res: Option, + pub name: Option, +} + +#[derive(Deserialize, Debug)] +#[serde(rename_all = "PascalCase")] +pub struct AvatarConfigTemplate { + #[serde(rename = "ID")] + pub id: i32, + pub code_name: String, + pub name: String, + pub audio_event_replace_param: String, + pub audio_bank: String, + pub hud_icon_path: String, + pub hollow_icon_path: String, + pub icon_path: String, + pub rect_icon_path: String, + pub avatar_path: String, + pub script_config_path: String, + #[serde(rename = "UIScriptConfigPath")] + pub uiscript_config_path: String, + pub prefab_path: String, + #[serde(rename = "UIPrefabPath")] + pub uiprefab_path: String, + pub main_page_show: bool, + pub need_show: bool, + pub hit_types: Vec, + pub element_types: Vec, + pub tags: Vec, + pub gender: i32, + pub camp: i32, + pub camp_name: Option, + pub group_icon_path: String, + pub weapon_type: i32, + pub star_initial: i32, + #[serde(rename = "AvatarPieceID")] + pub avatar_piece_id: i32, + pub avatar_decompose: i32, + pub avatar_compose: i32, + #[serde(rename = "HP")] + pub hp: i32, + #[serde(rename = "HPGrowth")] + pub hp_growth: i32, + pub armor: i32, + pub armor_growth: i32, + pub shield: i32, + pub shield_growth: i32, + pub endurance: i32, + pub attack: i32, + pub attack_growth: i32, + pub defence: i32, + pub defence_growth: i32, + pub crit: i32, + pub crit_damage: i32, + pub crit_res: i32, + pub crit_dmg_res: i32, + pub pen_rate: i32, + pub pen_delta: i32, + pub luck: i32, + pub stun: i32, + pub break_stun: i32, + #[serde(rename = "SPBarPoint")] + pub spbar_point: i32, + pub sp_recover: i32, + #[serde(rename = "RBL")] + pub rbl: i32, + #[serde(rename = "RBLCorrectionFactor")] + pub rblcorrection_factor: i32, + #[serde(rename = "RBLProbability")] + pub rblprobability: i32, + pub buff_resist_burn_possibility_ratio: i32, + pub buff_resist_burn_possibility_delta: i32, + pub buff_resist_frozen_possibility_ratio: i32, + pub buff_resist_frozen_possibility_delta: i32, + pub buff_resist_electric_possibility_ratio: i32, + pub buff_resist_electric_possibility_delta: i32, + pub weapon: i32, + #[serde(rename = "RBP")] + pub rbp: i32, + #[serde(rename = "RBPFadeOutRate")] + pub rbp_fade_out_rate: i32, + #[serde(rename = "RBPFadeOutTime")] + pub rbp_fade_out_time: i32, + #[serde(rename = "RBPCorrectionFactor")] + pub rbp_correction_factor: i32, + #[serde(rename = "RBPProbability")] + pub rbp_probability: i32, +} diff --git a/gameserver/src/net/handlers/world.rs b/gameserver/src/net/handlers/world.rs index 5064245..8ee0305 100644 --- a/gameserver/src/net/handlers/world.rs +++ b/gameserver/src/net/handlers/world.rs @@ -7,16 +7,6 @@ use crate::game::{globals, util}; use super::*; -static UNLOCK_AVATARS: [i32; 12] = [ - 1011, 1021, 1031, 1041, 1061, 1081, 1091, 1101, 1111, 1121, 1131, 1141, -]; - -static UNLOCK_FEATURES: [i32; 35] = [ - 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1013, 1014, 1015, 1016, 1017, - 1018, 1019, 10001, 10002, 10003, 10004, 10005, 10006, 10007, 10008, 10009, 10010, 10012, 10013, - 10014, 10015, 10017, 10018, 10019, -]; - pub async fn on_rpc_run_event_graph_arg( session: &NetworkSession, arg: &RpcRunEventGraphArg, @@ -144,7 +134,7 @@ pub async fn on_ptc_player_operation_arg( pub async fn on_rpc_save_pos_in_main_city_arg( session: &NetworkSession, - arg: &RpcSavePosInMainCityArg, + _arg: &RpcSavePosInMainCityArg, ) -> Result<()> { tracing::info!("MainCity pos updated"); @@ -217,12 +207,15 @@ pub async fn on_rpc_enter_world_arg( item_manager.add_resource(10, 228); item_manager.add_resource(100, 1337); - for avatar_id in UNLOCK_AVATARS { + for avatar_id in config::iter_avatar_config_collection() + .map(|c| c.id) + .filter(|id| *id < 2000) + { item_manager.unlock_avatar(avatar_id); } let unlock_manager = session.context.unlock_manager.borrow(); - for unlock_id in UNLOCK_FEATURES { + for unlock_id in config::iter_unlock_config_collection().map(|c| c.id) { unlock_manager.unlock(unlock_id); }