From 3af2204e9e4f4b4dbf73e2aa27c13f7558b988c4 Mon Sep 17 00:00:00 2001 From: hypergraphUniverse <44737387+hypergraphUniverse@users.noreply.github.com> Date: Tue, 8 Mar 2022 08:14:27 +0100 Subject: [PATCH] update Notes and Readme --- Notes/解包数据含义.md | 80 +++++++++++++++++++++++++++++++++++++ README.md | 22 +++++----- 2 files changed, 93 insertions(+), 9 deletions(-) create mode 100644 Notes/解包数据含义.md diff --git a/Notes/解包数据含义.md b/Notes/解包数据含义.md new file mode 100644 index 0000000..28451fd --- /dev/null +++ b/Notes/解包数据含义.md @@ -0,0 +1,80 @@ +# 解包数据含义 + +## 圣遗物部分 +1. ReliquaryLevelExcelConfigData.json +圣遗物主词条数据。其中 + 1. "Rank"是星级 + 2. "Level"是等级 + 3. "AddProps"中的"PropType"和"Value"则是词条和对应的数据 +第一条无效数据,没有Rank和Level等参数。 + +2. ReliquaryAffixExcelConfigData.json +圣遗物副词条数据,是原始的数据。其中 + 1. "Id"的第一位可以看作是星级 + 2. "PropType"和"PropValue"是词条和对应的数据 + 3. 每一个星级的每一个词条下面会有2-4个数据,提升圣遗物每四级会提升一次,提升数据就从中抽取。"id"的第六位可以看作是区分他们的标志 +"Id"为9开头的是无效数据,不太清楚干什么。目前有草系加伤和FIRE_SUB_HURT(火系减伤?)的词条,词条可以读取,默认没有读。 + +## 角色部分 +3. AvatarExcelConfigData.json +角色基础数据。其中 + 1. 可以搜索名字来找到角色,会出现在IconName等关键词中,"AvatarPromoteId"或者"Id"可以视为角色唯一标识 + 2. "AvatarPromoteId"是角色在突破时需要参考的数据,凭此Id可以在AvatarPromoteExcelConfigData.json中找到突破带来的提升 + 3. "HpBase","AttackBase","DefenseBase"."Critical","CriticalHurt"五项数据是角色的LV1基础数据。 + 4. "PropGrowCurves"中"Type"和"GrowCurve"是角色升级的时候,"Type"对应数据的倍率。一般是生命攻击和防御三项。 + 5. "GrowCurve"需要结合AvatarCurveExcelConfigData.json中的数据进行解读。 +其中"Id": 10000001,名字为Kate(PromoteID还占用了2)的角色是无效数据。 + +4. AvatarCurveExcelConfigData.json +角色升级数值放大倍率。其中 + 1. "Level"展示出了对应等级 + 2. "CurveInfos"中的"Type"和"Value"分别是倍率数据,以及对应的曲线名字,曲线具体是哪一个由角色的"GrowCurve"决定。 + +5. AvatarPromoteExcelConfigData.json +角色突破奖励。其中 + 1. "AvatarPromoteId"是角色唯一值,需要结合角色同名的Id。 + 2. 每一个角色会有无PromoteLevel(没有突破)以及"PromoteLevel"1-6总共七个数据。 + 3. "UnlockMaxLevel"是指突破之后的最高等级。 + 4. "AddProps"中的 "PropType"-"Value" 是到达此突破等级后,角色某一词条的奖励。 + +## 武器部分 +6. WeaponExcelConfigData.json +武器基础数据。其中 + 1. "WeaponType"是武器类型,"WEAPON_SWORD_ONE_HAND"单手剑,"WEAPON_CLAYMORE"大剑,"WEAPON_POLE"长枪,"WEAPON_CATALYST"法器,"WEAPON_BOW"弓 + 2. "RankLevel"武器星级 + 3. "Awaken*"系列数据,常常包含武器名称的简写,可以作为搜索技巧 + 4. "WeaponPromoteId","StoryId", "Id"等可以作为武器唯一值。 + 5. "WeaponPromoteId"是武器在突破时需要参考的数据,凭此Id可以在WeaponPromoteExcelConfigData.json中找到突破带来的提升 + 6. "WeaponProp"中的"PropType"-"InitValue"-"Type"是此武器的数值(主或者副),基础值和增长曲线,"Type"需要配合武器等级在WeaponCurveExcelConfigData.json寻找对应的倍率 +注意有一些武器的"WeaponProp"有一些无效的数据,例如只有"Type"一项 + +7. WeaponCurveExcelConfigData.json +武器升级放大倍率。其中 + 1. "Level"展示出了对应等级 + 2. "CurveInfos"中的"Type"和"Value"分别是倍率数据,以及对应的曲线名字,曲线具体是哪一个由武器的"Type"决定。 + +8. WeaponPromoteExcelConfigData.json +武器突破奖励。其中 + 1. "WeaponPromoteId"是武器唯一值,需要结合武器同名的Id。 + 2. 每一个武器会有无PromoteLevel(没有突破)以及"PromoteLevel"总共多个数据,随等级而定。 + 3. "UnlockMaxLevel"是指突破之后的最高等级。 + 4. "AddProps"中的 "PropType"-"Value" 是到达此突破等级后,武器某一词条的奖励。 + + +## 技能部分 +9. ProudSkillExcelConfigData.json +角色技能数据1。其中 + 1. 搜索角色名(例如"Hutao"),可以查到角色对应的大致位置,但是内容并不显然。 + 2. "OpenConfig"键值可以作为技能的唯一值,不过一个角色肯定会有多个技能。 + 3. "ProudSkillId"可能是五位或者六位,而去除掉后四位,前面的数值和角色一一对应,这个Id也和之前角色的突破Id是一致的。 + 4. "ProudSkillGroupId", 或者说"ProudSkillId"的前3/4位,是可以在AvatarSkillExcelConfigData.json搜索对应技能的冷却时间的。例如331/332/339就是琴的A/E/Q + 5. "ProudSkillType"可能为2或者3,根据观察,角色天赋和两个永久技能为2,剩余的普攻以及QE技能,以及部分角色的移动技能等则是3。对于2的部分确实比较麻烦,内容较为繁杂。对于2的解读见下一条。 + 6. 搜索 SkillUpgrade_1/2/3,对于一个角色的A/E/Q技能则会找到15*3一共45个数据,分别是对应技能的1-15级倍率。搜索"Skill_A","Skill_S","Skill_E"则会在Icon处也能找到对应的A/E/Q技能(但并不一定唯一)。 + 7. 对于A/E/Q技能,参数"ParamList"是这个技能的所有参数。一个很悲惨的地方则在于,这个地方并没有任何对齐。例如说有些角色是普攻第五段打两下,有些是重击打两下,大技能参数数量完全不同,等等如此,如果要提取出对应伤害,则较为困难 + +10. AvatarSkillExcelConfigData.json +角色技能数据2。其中 + 1. "ProudSkillGroupId"是技能的唯一值,和ProudSkillExcelConfigData中的技能有部分对应的,不要去看IconName之类的键值,"AbilityName"可以去看,但是这个位置有些时候是空的。 + 2. CDTime是技能对应的冷却数时间,目前来看E和Q的时间是一定写在这里的,其他有CD的应该也在这里,普攻时间应当不在这里。 + +如果你知道更多,请务必为这里提供一些PR! \ No newline at end of file diff --git a/README.md b/README.md index 3d3a156..7b08ce8 100644 --- a/README.md +++ b/README.md @@ -5,23 +5,27 @@ Convert GenshinData's JSON into other codestyle. \ You should download JSON files in https://github.com/Dimbreath/GenshinData and copy it to here\ 你需要同时下载上述链接所说JSON源数据, 并且将对应需要的内容复制到仓库中 +Accepted JSON Files Now: 目前能够接受的JSON文件有: +- ReliquaryAffixExcelConfigData.json +- ReliquaryLevelExcelConfigData.json +Please use the deobfuscated version of JSON and put it in the same folder! 请使用解混淆后的JSON文件, 并放在同一目录中! + # Usage 使用方法 -1. download/clone/fork a repo 下载、克隆这个仓库或者创建分支 +1. download/clone/fork a repo 下载、克隆这个仓库或者创建分支 -2. download Julia 下载Julia -https://www.julialang.org/downloads/ download and install +2. download Julia 下载Julia +https://www.julialang.org/downloads/ download and install \ 按照上述链接下载并安装适合你的版本 -3. download Packages in Julia 在Julia中下载模组 - 1. open julia command line 打开Julia命令行 - 2. press `[` to and see something like `pkg>` 按下 `[` 按键后会看到类似于 `pkg>` 之类的字样 - 3. input `add [Package]` and wait until installed(replace `[Package]`) 输入`add [Package]`并等待安装 - +3. download Packages in Julia\在Julia中下载模组 + 1. open julia command line\打开Julia命令行 + 2. press `[` to and see something like `pkg>`\按下 `[` 按键后会看到类似于 `pkg>` 之类的字样 + 3. input `add [Package]` and wait until installed(replace `[Package]`)\输入`add [Package]`并等待安装 Package Lists: (e.g write `add JSON` in `pkg>`) 模组列表 - JSON -tbd +tbd \ 4. configure the code on your need 按照你的需求配置更改代码 5. run the script to generate file 运行脚本,生成文件